@womp/kookie-ui 0.9.1 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/components.css +13 -0
  2. package/dist/cjs/components/chatbar.js +2 -2
  3. package/dist/cjs/components/chatbar.js.map +4 -4
  4. package/dist/cjs/components/context-menu.js +1 -1
  5. package/dist/cjs/components/context-menu.js.map +4 -4
  6. package/dist/cjs/components/dropdown-menu.js +1 -1
  7. package/dist/cjs/components/dropdown-menu.js.map +4 -4
  8. package/dist/cjs/components/index.js +5 -5
  9. package/dist/cjs/components/index.js.map +4 -4
  10. package/dist/cjs/components/message-scroller.d.ts +6 -0
  11. package/dist/cjs/components/message-scroller.d.ts.map +1 -1
  12. package/dist/cjs/components/message-scroller.js +2 -2
  13. package/dist/cjs/components/message-scroller.js.map +4 -4
  14. package/dist/cjs/components/scroll-area.d.ts.map +1 -1
  15. package/dist/cjs/components/scroll-area.js +1 -1
  16. package/dist/cjs/components/scroll-area.js.map +4 -4
  17. package/dist/cjs/components/scroll-area.props.d.ts +10 -0
  18. package/dist/cjs/components/scroll-area.props.d.ts.map +1 -1
  19. package/dist/cjs/components/scroll-area.props.js +1 -1
  20. package/dist/cjs/components/scroll-area.props.js.map +2 -2
  21. package/dist/cjs/components/sidebar.js +1 -1
  22. package/dist/cjs/components/sidebar.js.map +4 -4
  23. package/dist/cjs/components/table.js +1 -1
  24. package/dist/cjs/components/table.js.map +4 -4
  25. package/dist/cjs/components/theme-panel.js +3 -3
  26. package/dist/cjs/components/theme-panel.js.map +4 -4
  27. package/dist/cjs/hooks/use-scroll-edges.d.ts +12 -0
  28. package/dist/cjs/hooks/use-scroll-edges.d.ts.map +1 -0
  29. package/dist/cjs/hooks/use-scroll-edges.js +2 -0
  30. package/dist/cjs/hooks/use-scroll-edges.js.map +7 -0
  31. package/dist/cjs/index.js +5 -5
  32. package/dist/cjs/index.js.map +4 -4
  33. package/dist/cjs/props/index.js +1 -1
  34. package/dist/cjs/props/index.js.map +2 -2
  35. package/dist/esm/{chunk-MWIIGYAJ.js → chunk-25LBWKEV.js} +2 -2
  36. package/dist/esm/{chunk-ABSKRHVM.js → chunk-36A5BYCN.js} +2 -2
  37. package/dist/esm/chunk-4D2OAD6I.js +2 -0
  38. package/dist/esm/chunk-4D2OAD6I.js.map +7 -0
  39. package/dist/esm/{chunk-YQRSAP46.js → chunk-53SZ4Y23.js} +2 -2
  40. package/dist/esm/chunk-5BWLY27A.js +2 -0
  41. package/dist/esm/chunk-5BWLY27A.js.map +7 -0
  42. package/dist/esm/chunk-COWZAUZR.js +2 -0
  43. package/dist/esm/chunk-COWZAUZR.js.map +7 -0
  44. package/dist/esm/{chunk-PHC3QBV3.js → chunk-MZXHKM4V.js} +2 -2
  45. package/dist/esm/{chunk-NIM7DIVH.js → chunk-PQKJNRMR.js} +2 -2
  46. package/dist/esm/{chunk-YTD3AJAU.js → chunk-QK5RBHKV.js} +2 -2
  47. package/dist/esm/chunk-XPRPYCII.js +2 -0
  48. package/dist/esm/{chunk-5KICSAT7.js.map → chunk-XPRPYCII.js.map} +2 -2
  49. package/dist/esm/components/chatbar.js +1 -1
  50. package/dist/esm/components/context-menu.js +1 -1
  51. package/dist/esm/components/dropdown-menu.js +1 -1
  52. package/dist/esm/components/index.js +1 -1
  53. package/dist/esm/components/message-scroller.d.ts +6 -0
  54. package/dist/esm/components/message-scroller.d.ts.map +1 -1
  55. package/dist/esm/components/message-scroller.js +1 -1
  56. package/dist/esm/components/scroll-area.d.ts.map +1 -1
  57. package/dist/esm/components/scroll-area.js +1 -1
  58. package/dist/esm/components/scroll-area.props.d.ts +10 -0
  59. package/dist/esm/components/scroll-area.props.d.ts.map +1 -1
  60. package/dist/esm/components/scroll-area.props.js +1 -1
  61. package/dist/esm/components/sidebar.js +1 -1
  62. package/dist/esm/components/table.js +1 -1
  63. package/dist/esm/components/theme-panel.js +1 -1
  64. package/dist/esm/hooks/use-scroll-edges.d.ts +12 -0
  65. package/dist/esm/hooks/use-scroll-edges.d.ts.map +1 -0
  66. package/dist/esm/hooks/use-scroll-edges.js +2 -0
  67. package/dist/esm/hooks/use-scroll-edges.js.map +7 -0
  68. package/dist/esm/index.js +1 -1
  69. package/dist/esm/props/index.js +1 -1
  70. package/package.json +1 -1
  71. package/src/components/message-scroller.tsx +24 -5
  72. package/src/components/scroll-area.css +44 -0
  73. package/src/components/scroll-area.props.tsx +8 -0
  74. package/src/components/scroll-area.tsx +7 -1
  75. package/src/hooks/use-scroll-edges.ts +46 -0
  76. package/styles.css +13 -0
  77. package/dist/esm/chunk-5KICSAT7.js +0 -2
  78. package/dist/esm/chunk-CTA5ODAO.js +0 -2
  79. package/dist/esm/chunk-CTA5ODAO.js.map +0 -7
  80. package/dist/esm/chunk-W4WWN3RC.js +0 -2
  81. package/dist/esm/chunk-W4WWN3RC.js.map +0 -7
  82. /package/dist/esm/{chunk-MWIIGYAJ.js.map → chunk-25LBWKEV.js.map} +0 -0
  83. /package/dist/esm/{chunk-ABSKRHVM.js.map → chunk-36A5BYCN.js.map} +0 -0
  84. /package/dist/esm/{chunk-YQRSAP46.js.map → chunk-53SZ4Y23.js.map} +0 -0
  85. /package/dist/esm/{chunk-PHC3QBV3.js.map → chunk-MZXHKM4V.js.map} +0 -0
  86. /package/dist/esm/{chunk-NIM7DIVH.js.map → chunk-PQKJNRMR.js.map} +0 -0
  87. /package/dist/esm/{chunk-YTD3AJAU.js.map → chunk-QK5RBHKV.js.map} +0 -0
@@ -47,6 +47,12 @@ interface ViewportProps extends React.ComponentPropsWithoutRef<'div'> {
47
47
  'aria-label'?: string;
48
48
  /** Keep the reader's place when older messages are added above. Default `true`. */
49
49
  preserveScrollOnPrepend?: boolean;
50
+ /**
51
+ * Fades messages toward the top and bottom edges while there is more past them. A floating
52
+ * band over an edge (a toolbar, a goal tray, a composer) can set `--scroll-fade-start` or
53
+ * `--scroll-fade-end` to its height, so messages fade as they pass under it. Default `true`.
54
+ */
55
+ fade?: boolean;
50
56
  }
51
57
  /** The scrolling element. */
52
58
  declare const Viewport: React.ForwardRefExoticComponent<ViewportProps & React.RefAttributes<HTMLDivElement>>;
@@ -1 +1 @@
1
- {"version":3,"file":"message-scroller.d.ts","sourceRoot":"","sources":["../../../src/components/message-scroller.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAEL,kBAAkB,EAClB,4BAA4B,EAC5B,4BAA4B,EAC5B,KAAK,oCAAoC,EACzC,KAAK,4BAA4B,EACjC,KAAK,yBAAyB,EAC9B,KAAK,8BAA8B,EACpC,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEpE,UAAU,SAAU,SAAQ,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC;IAC/D;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,0FAA0F;IAC1F,qBAAqB,CAAC,EAAE,oCAAoC,CAAC;IAC7D,yEAAyE;IACzE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,8DAA8D;AAC9D,QAAA,MAAM,IAAI,kFAaT,CAAC;AAGF,UAAU,aAAc,SAAQ,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC;IACnE,0DAA0D;IAC1D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mFAAmF;IACnF,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC;AAED,6BAA6B;AAC7B,QAAA,MAAM,QAAQ,sFAIZ,CAAC;AAGH,KAAK,YAAY,GAAG,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;AAE1D,iDAAiD;AACjD,QAAA,MAAM,OAAO,mKAEX,CAAC;AAGH,UAAU,SAAU,SAAQ,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC;IAC/D,8FAA8F;IAC9F,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yFAAyF;IACzF,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,iCAAiC;AACjC,QAAA,MAAM,IAAI,kFAER,CAAC;AAGH,KAAK,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,YAAY,GAAG,iBAAiB,CAAC,GAAG;IAC3E,oEAAoE;IACpE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yEAAyE;IACzE,SAAS,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IAC5B,sDAAsD;IACtD,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B,CAAC;AAEF;;;GAGG;AACH,QAAA,MAAM,MAAM;IAZV,oEAAoE;mBACrD,MAAM;IACrB,yEAAyE;gBAC7D,OAAO,GAAG,KAAK;IAC3B,sDAAsD;eAC3C,cAAc;2CAiC1B,CAAC;AAGF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,4BAA4B,EAAE,CAAC;AACjI,YAAY,EACV,SAAS,IAAI,wBAAwB,EACrC,aAAa,IAAI,4BAA4B,EAC7C,YAAY,IAAI,2BAA2B,EAC3C,SAAS,IAAI,wBAAwB,EACrC,WAAW,IAAI,0BAA0B,EACzC,oCAAoC,EACpC,4BAA4B,EAC5B,yBAAyB,EACzB,8BAA8B,GAC/B,CAAC"}
1
+ {"version":3,"file":"message-scroller.d.ts","sourceRoot":"","sources":["../../../src/components/message-scroller.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAEL,kBAAkB,EAClB,4BAA4B,EAC5B,4BAA4B,EAC5B,KAAK,oCAAoC,EACzC,KAAK,4BAA4B,EACjC,KAAK,yBAAyB,EAC9B,KAAK,8BAA8B,EACpC,MAAM,gCAAgC,CAAC;AAIxC,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGpE,UAAU,SAAU,SAAQ,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC;IAC/D;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,0FAA0F;IAC1F,qBAAqB,CAAC,EAAE,oCAAoC,CAAC;IAC7D,yEAAyE;IACzE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,8DAA8D;AAC9D,QAAA,MAAM,IAAI,kFAaT,CAAC;AAGF,UAAU,aAAc,SAAQ,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC;IACnE,0DAA0D;IAC1D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mFAAmF;IACnF,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,6BAA6B;AAC7B,QAAA,MAAM,QAAQ,sFAcZ,CAAC;AAGH,KAAK,YAAY,GAAG,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;AAE1D,iDAAiD;AACjD,QAAA,MAAM,OAAO,mKAEX,CAAC;AAGH,UAAU,SAAU,SAAQ,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC;IAC/D,8FAA8F;IAC9F,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yFAAyF;IACzF,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,iCAAiC;AACjC,QAAA,MAAM,IAAI,kFAER,CAAC;AAGH,KAAK,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,YAAY,GAAG,iBAAiB,CAAC,GAAG;IAC3E,oEAAoE;IACpE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yEAAyE;IACzE,SAAS,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IAC5B,sDAAsD;IACtD,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B,CAAC;AAEF;;;GAGG;AACH,QAAA,MAAM,MAAM;IAZV,oEAAoE;mBACrD,MAAM;IACrB,yEAAyE;gBAC7D,OAAO,GAAG,KAAK;IAC3B,sDAAsD;eAC3C,cAAc;2CAiC1B,CAAC;AAGF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,4BAA4B,EAAE,CAAC;AACjI,YAAY,EACV,SAAS,IAAI,wBAAwB,EACrC,aAAa,IAAI,4BAA4B,EAC7C,YAAY,IAAI,2BAA2B,EAC3C,SAAS,IAAI,wBAAwB,EACrC,WAAW,IAAI,0BAA0B,EACzC,oCAAoC,EACpC,4BAA4B,EAC5B,yBAAyB,EACzB,8BAA8B,GAC/B,CAAC"}
@@ -1,2 +1,2 @@
1
- "use client";import{a,b,c,d,e,f,g,h}from"../chunk-W4WWN3RC.js";import"../chunk-4XGGX2V2.js";import"../chunk-2N2AQNJH.js";import"../chunk-OLAWVEAI.js";import"../chunk-BPVVFHYD.js";import"../chunk-5WRCK4R7.js";import"../chunk-4XKK32M4.js";import"../chunk-G2CKYO2I.js";import"../chunk-AXUDFYLY.js";import"../chunk-KNQBAOMV.js";import"../chunk-FD2TR343.js";import"../chunk-WYADYDPN.js";import"../chunk-ZE2KAVXW.js";import"../chunk-ZWZGUBL4.js";import"../chunk-SEY4NA45.js";import"../chunk-WAURCNAS.js";import"../chunk-F22ZRNWL.js";import"../chunk-XYVLQDGR.js";import"../chunk-ZZLZGHZQ.js";import"../chunk-HF5WY5YE.js";import"../chunk-3KB2XWBE.js";import"../chunk-FHOCUZDR.js";import"../chunk-SMGDH54W.js";import"../chunk-AGAQC4HH.js";import"../chunk-5T6K7VPP.js";import"../chunk-SNR5VFWG.js";import"../chunk-FWB47YCH.js";import"../chunk-K53W3ELO.js";import"../chunk-TTFUM47A.js";import"../chunk-VX44UTQ5.js";import"../chunk-ERGJN7FJ.js";import"../chunk-5TXQLK4G.js";import"../chunk-JFWMAYEH.js";import"../chunk-KRJTW535.js";import"../chunk-GSTOGDAJ.js";import"../chunk-6FLLFCBU.js";import"../chunk-AX5S56DS.js";import"../chunk-E23RKOQJ.js";import"../chunk-JUY7CBSL.js";import"../chunk-WRWNN2NW.js";import"../chunk-QM3RCK5P.js";import"../chunk-RZCX6IBE.js";import"../chunk-NZJGC6ZW.js";import"../chunk-ZNK6AH2G.js";import"../chunk-OS3FCYZY.js";export{h as Button,f as Content,g as Item,d as Root,e as Viewport,a as useMessageScroller,b as useMessageScrollerScrollable,c as useMessageScrollerVisibility};
1
+ "use client";import{a,b,c,d,e,f,g,h}from"../chunk-4D2OAD6I.js";import"../chunk-4XGGX2V2.js";import"../chunk-5BWLY27A.js";import"../chunk-2N2AQNJH.js";import"../chunk-OLAWVEAI.js";import"../chunk-BPVVFHYD.js";import"../chunk-5WRCK4R7.js";import"../chunk-4XKK32M4.js";import"../chunk-G2CKYO2I.js";import"../chunk-AXUDFYLY.js";import"../chunk-KNQBAOMV.js";import"../chunk-FD2TR343.js";import"../chunk-WYADYDPN.js";import"../chunk-ZE2KAVXW.js";import"../chunk-ZWZGUBL4.js";import"../chunk-SEY4NA45.js";import"../chunk-WAURCNAS.js";import"../chunk-F22ZRNWL.js";import"../chunk-XYVLQDGR.js";import"../chunk-ZZLZGHZQ.js";import"../chunk-HF5WY5YE.js";import"../chunk-3KB2XWBE.js";import"../chunk-FHOCUZDR.js";import"../chunk-SMGDH54W.js";import"../chunk-AGAQC4HH.js";import"../chunk-5T6K7VPP.js";import"../chunk-SNR5VFWG.js";import"../chunk-FWB47YCH.js";import"../chunk-K53W3ELO.js";import"../chunk-TTFUM47A.js";import"../chunk-VX44UTQ5.js";import"../chunk-ERGJN7FJ.js";import"../chunk-5TXQLK4G.js";import"../chunk-JFWMAYEH.js";import"../chunk-KRJTW535.js";import"../chunk-GSTOGDAJ.js";import"../chunk-6FLLFCBU.js";import"../chunk-AX5S56DS.js";import"../chunk-E23RKOQJ.js";import"../chunk-JUY7CBSL.js";import"../chunk-WRWNN2NW.js";import"../chunk-QM3RCK5P.js";import"../chunk-RZCX6IBE.js";import"../chunk-NZJGC6ZW.js";import"../chunk-ZNK6AH2G.js";import"../chunk-OS3FCYZY.js";export{h as Button,f as Content,g as Item,d as Root,e as Viewport,a as useMessageScroller,b as useMessageScrollerScrollable,c as useMessageScrollerVisibility};
2
2
  //# sourceMappingURL=message-scroller.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scroll-area.d.ts","sourceRoot":"","sources":["../../../src/components/scroll-area.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,UAAU,IAAI,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAO5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AACzF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG5D,KAAK,kBAAkB,GAAG,eAAe,CAAC,OAAO,kBAAkB,CAAC,CAAC;AACrE,UAAU,eACR,SAAQ,qBAAqB,CAAC,OAAO,mBAAmB,CAAC,IAAI,EAAE,YAAY,CAAC,EAC1E,qBAAqB,CAAC,OAAO,mBAAmB,CAAC,QAAQ,EAAE,YAAY,GAAG,KAAK,CAAC,EAChF,WAAW,EACX,kBAAkB;CAAG;AACzB,QAAA,MAAM,UAAU,wFA+Ed,CAAC;AAGH,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,YAAY,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"scroll-area.d.ts","sourceRoot":"","sources":["../../../src/components/scroll-area.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,UAAU,IAAI,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAG7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAQ5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AACzF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG5D,KAAK,kBAAkB,GAAG,eAAe,CAAC,OAAO,kBAAkB,CAAC,CAAC;AACrE,UAAU,eACR,SAAQ,qBAAqB,CAAC,OAAO,mBAAmB,CAAC,IAAI,EAAE,YAAY,CAAC,EAC1E,qBAAqB,CAAC,OAAO,mBAAmB,CAAC,QAAQ,EAAE,YAAY,GAAG,KAAK,CAAC,EAChF,WAAW,EACX,kBAAkB;CAAG;AACzB,QAAA,MAAM,UAAU,wFAmFd,CAAC;AAGH,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,YAAY,EAAE,eAAe,EAAE,CAAC"}
@@ -1,2 +1,2 @@
1
- import{a}from"../chunk-CTA5ODAO.js";import"../chunk-5GXFBLBJ.js";import"../chunk-UBOOUDS4.js";import"../chunk-5KICSAT7.js";import"../chunk-PS6NEG5A.js";import"../chunk-KRJTW535.js";import"../chunk-GSTOGDAJ.js";import"../chunk-E23RKOQJ.js";import"../chunk-JUY7CBSL.js";import"../chunk-WRWNN2NW.js";import"../chunk-QM3RCK5P.js";import"../chunk-RZCX6IBE.js";import"../chunk-NZJGC6ZW.js";import"../chunk-OS3FCYZY.js";export{a as ScrollArea};
1
+ import{a}from"../chunk-COWZAUZR.js";import"../chunk-5GXFBLBJ.js";import"../chunk-UBOOUDS4.js";import"../chunk-XPRPYCII.js";import"../chunk-5BWLY27A.js";import"../chunk-PS6NEG5A.js";import"../chunk-KRJTW535.js";import"../chunk-GSTOGDAJ.js";import"../chunk-E23RKOQJ.js";import"../chunk-JUY7CBSL.js";import"../chunk-WRWNN2NW.js";import"../chunk-QM3RCK5P.js";import"../chunk-RZCX6IBE.js";import"../chunk-NZJGC6ZW.js";import"../chunk-OS3FCYZY.js";export{a as ScrollArea};
2
2
  //# sourceMappingURL=scroll-area.js.map
@@ -4,6 +4,16 @@ declare const scrollAreaPropDefs: {
4
4
  values: readonly ["vertical", "horizontal", "both"];
5
5
  default: "both";
6
6
  };
7
+ /**
8
+ * Fades the content toward the top and bottom edges while there is more content past them.
9
+ * An edge with nothing hidden past it does not fade. A floating band over an edge can set
10
+ * `--scroll-fade-start` or `--scroll-fade-end` to its height, so content fades as it passes
11
+ * under the band.
12
+ */
13
+ fade: {
14
+ type: "boolean";
15
+ default: false;
16
+ };
7
17
  radius: {
8
18
  type: "enum";
9
19
  values: readonly ["none", "small", "medium", "large", "full"];
@@ -1 +1 @@
1
- {"version":3,"file":"scroll-area.props.d.ts","sourceRoot":"","sources":["../../../src/components/scroll-area.props.tsx"],"names":[],"mappings":"AAQA,QAAA,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;CAQvB,CAAC;AAEF,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
1
+ {"version":3,"file":"scroll-area.props.d.ts","sourceRoot":"","sources":["../../../src/components/scroll-area.props.tsx"],"names":[],"mappings":"AAQA,QAAA,MAAM,kBAAkB;;;;;;IAKtB;;;;;OAKG;;;;;;;;;;;;;;;;;;;;CAMJ,CAAC;AAEF,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -1,2 +1,2 @@
1
- import{a}from"../chunk-5KICSAT7.js";import"../chunk-KRJTW535.js";import"../chunk-NZJGC6ZW.js";import"../chunk-OS3FCYZY.js";export{a as scrollAreaPropDefs};
1
+ import{a}from"../chunk-XPRPYCII.js";import"../chunk-KRJTW535.js";import"../chunk-NZJGC6ZW.js";import"../chunk-OS3FCYZY.js";export{a as scrollAreaPropDefs};
2
2
  //# sourceMappingURL=scroll-area.props.js.map
@@ -1,2 +1,2 @@
1
- "use client";import{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o}from"../chunk-YQRSAP46.js";import"../chunk-2CMM7MEL.js";import"../chunk-VR7ZAFYN.js";import"../chunk-CRSHBENJ.js";import"../chunk-PHC3QBV3.js";import"../chunk-WOR3JCLX.js";import"../chunk-WHFJ4JUN.js";import"../chunk-72AHPGPN.js";import"../chunk-CTA5ODAO.js";import"../chunk-5GXFBLBJ.js";import"../chunk-UBOOUDS4.js";import"../chunk-5KICSAT7.js";import"../chunk-IX5HIHVI.js";import"../chunk-PS6NEG5A.js";import"../chunk-KMPE7TJ6.js";import"../chunk-OLAWVEAI.js";import"../chunk-BPVVFHYD.js";import"../chunk-QQ62LO3X.js";import"../chunk-MJJ7XDIP.js";import"../chunk-5WRCK4R7.js";import"../chunk-4XKK32M4.js";import"../chunk-G2CKYO2I.js";import"../chunk-AXUDFYLY.js";import"../chunk-KNQBAOMV.js";import"../chunk-FD2TR343.js";import"../chunk-WYADYDPN.js";import"../chunk-ZE2KAVXW.js";import"../chunk-ZWZGUBL4.js";import"../chunk-7RQNB63F.js";import"../chunk-SEY4NA45.js";import"../chunk-WAURCNAS.js";import"../chunk-F22ZRNWL.js";import"../chunk-XYVLQDGR.js";import"../chunk-FWB47YCH.js";import"../chunk-VX44UTQ5.js";import"../chunk-ERGJN7FJ.js";import"../chunk-5TXQLK4G.js";import"../chunk-KRJTW535.js";import"../chunk-3KSGRY6I.js";import"../chunk-ZOY43B55.js";import"../chunk-E67CIG6A.js";import"../chunk-ARIV4AT5.js";import"../chunk-3XSB7YIM.js";import"../chunk-YA5DF67M.js";import"../chunk-GSTOGDAJ.js";import"../chunk-6FLLFCBU.js";import"../chunk-AX5S56DS.js";import"../chunk-E23RKOQJ.js";import"../chunk-JUY7CBSL.js";import"../chunk-WRWNN2NW.js";import"../chunk-QM3RCK5P.js";import"../chunk-RZCX6IBE.js";import"../chunk-NZJGC6ZW.js";import"../chunk-ZNK6AH2G.js";import"../chunk-JSW6J6RS.js";import"../chunk-OS3FCYZY.js";export{b as Content,d as Footer,l as Group,n as GroupContent,m as GroupLabel,c as Header,f as Menu,h as MenuButton,g as MenuItem,i as MenuSub,k as MenuSubContent,j as MenuSubTrigger,a as Root,o as Search,e as Separator};
1
+ "use client";import{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o}from"../chunk-53SZ4Y23.js";import"../chunk-2CMM7MEL.js";import"../chunk-VR7ZAFYN.js";import"../chunk-CRSHBENJ.js";import"../chunk-MZXHKM4V.js";import"../chunk-WOR3JCLX.js";import"../chunk-WHFJ4JUN.js";import"../chunk-72AHPGPN.js";import"../chunk-COWZAUZR.js";import"../chunk-5GXFBLBJ.js";import"../chunk-UBOOUDS4.js";import"../chunk-XPRPYCII.js";import"../chunk-5BWLY27A.js";import"../chunk-IX5HIHVI.js";import"../chunk-PS6NEG5A.js";import"../chunk-KMPE7TJ6.js";import"../chunk-OLAWVEAI.js";import"../chunk-BPVVFHYD.js";import"../chunk-QQ62LO3X.js";import"../chunk-MJJ7XDIP.js";import"../chunk-5WRCK4R7.js";import"../chunk-4XKK32M4.js";import"../chunk-G2CKYO2I.js";import"../chunk-AXUDFYLY.js";import"../chunk-KNQBAOMV.js";import"../chunk-FD2TR343.js";import"../chunk-WYADYDPN.js";import"../chunk-ZE2KAVXW.js";import"../chunk-ZWZGUBL4.js";import"../chunk-7RQNB63F.js";import"../chunk-SEY4NA45.js";import"../chunk-WAURCNAS.js";import"../chunk-F22ZRNWL.js";import"../chunk-XYVLQDGR.js";import"../chunk-FWB47YCH.js";import"../chunk-VX44UTQ5.js";import"../chunk-ERGJN7FJ.js";import"../chunk-5TXQLK4G.js";import"../chunk-KRJTW535.js";import"../chunk-3KSGRY6I.js";import"../chunk-ZOY43B55.js";import"../chunk-E67CIG6A.js";import"../chunk-ARIV4AT5.js";import"../chunk-3XSB7YIM.js";import"../chunk-YA5DF67M.js";import"../chunk-GSTOGDAJ.js";import"../chunk-6FLLFCBU.js";import"../chunk-AX5S56DS.js";import"../chunk-E23RKOQJ.js";import"../chunk-JUY7CBSL.js";import"../chunk-WRWNN2NW.js";import"../chunk-QM3RCK5P.js";import"../chunk-RZCX6IBE.js";import"../chunk-NZJGC6ZW.js";import"../chunk-ZNK6AH2G.js";import"../chunk-JSW6J6RS.js";import"../chunk-OS3FCYZY.js";export{b as Content,d as Footer,l as Group,n as GroupContent,m as GroupLabel,c as Header,f as Menu,h as MenuButton,g as MenuItem,i as MenuSub,k as MenuSubContent,j as MenuSubTrigger,a as Root,o as Search,e as Separator};
2
2
  //# sourceMappingURL=sidebar.js.map
@@ -1,2 +1,2 @@
1
- import{a,b,c,d,e,f,g}from"../chunk-ABSKRHVM.js";import"../chunk-BALS3AVM.js";import"../chunk-CTA5ODAO.js";import"../chunk-5GXFBLBJ.js";import"../chunk-UBOOUDS4.js";import"../chunk-5KICSAT7.js";import"../chunk-PS6NEG5A.js";import"../chunk-TTFUM47A.js";import"../chunk-ERGJN7FJ.js";import"../chunk-KRJTW535.js";import"../chunk-GSTOGDAJ.js";import"../chunk-6FLLFCBU.js";import"../chunk-AX5S56DS.js";import"../chunk-E23RKOQJ.js";import"../chunk-JUY7CBSL.js";import"../chunk-WRWNN2NW.js";import"../chunk-QM3RCK5P.js";import"../chunk-RZCX6IBE.js";import"../chunk-NZJGC6ZW.js";import"../chunk-OS3FCYZY.js";export{c as Body,e as Cell,f as ColumnHeaderCell,b as Header,a as Root,d as Row,g as RowHeaderCell};
1
+ import{a,b,c,d,e,f,g}from"../chunk-36A5BYCN.js";import"../chunk-BALS3AVM.js";import"../chunk-COWZAUZR.js";import"../chunk-5GXFBLBJ.js";import"../chunk-UBOOUDS4.js";import"../chunk-XPRPYCII.js";import"../chunk-5BWLY27A.js";import"../chunk-PS6NEG5A.js";import"../chunk-TTFUM47A.js";import"../chunk-ERGJN7FJ.js";import"../chunk-KRJTW535.js";import"../chunk-GSTOGDAJ.js";import"../chunk-6FLLFCBU.js";import"../chunk-AX5S56DS.js";import"../chunk-E23RKOQJ.js";import"../chunk-JUY7CBSL.js";import"../chunk-WRWNN2NW.js";import"../chunk-QM3RCK5P.js";import"../chunk-RZCX6IBE.js";import"../chunk-NZJGC6ZW.js";import"../chunk-OS3FCYZY.js";export{c as Body,e as Cell,f as ColumnHeaderCell,b as Header,a as Root,d as Row,g as RowHeaderCell};
2
2
  //# sourceMappingURL=table.js.map
@@ -1,2 +1,2 @@
1
- "use client";import{a,b}from"../chunk-MWIIGYAJ.js";import"../chunk-IBF5U4QW.js";import"../chunk-WHFJ4JUN.js";import"../chunk-72AHPGPN.js";import"../chunk-VX6ARMWP.js";import"../chunk-4XGGX2V2.js";import"../chunk-CTA5ODAO.js";import"../chunk-5GXFBLBJ.js";import"../chunk-UBOOUDS4.js";import"../chunk-5KICSAT7.js";import"../chunk-73QGEY2I.js";import"../chunk-2N2AQNJH.js";import"../chunk-HAGKI7NA.js";import"../chunk-PS6NEG5A.js";import"../chunk-OLAWVEAI.js";import"../chunk-BPVVFHYD.js";import"../chunk-4YFJWXL2.js";import"../chunk-FGORMEAO.js";import"../chunk-ERNM3KVF.js";import"../chunk-GO7OHBHW.js";import"../chunk-PZ7OYATT.js";import"../chunk-MJJ7XDIP.js";import"../chunk-5WRCK4R7.js";import"../chunk-4XKK32M4.js";import"../chunk-G2CKYO2I.js";import"../chunk-AXUDFYLY.js";import"../chunk-KNQBAOMV.js";import"../chunk-FD2TR343.js";import"../chunk-WYADYDPN.js";import"../chunk-ZE2KAVXW.js";import"../chunk-ZWZGUBL4.js";import"../chunk-SEY4NA45.js";import"../chunk-WAURCNAS.js";import"../chunk-F22ZRNWL.js";import"../chunk-XYVLQDGR.js";import"../chunk-ZZLZGHZQ.js";import"../chunk-HF5WY5YE.js";import"../chunk-3KB2XWBE.js";import"../chunk-FHOCUZDR.js";import"../chunk-SMGDH54W.js";import"../chunk-AGAQC4HH.js";import"../chunk-5T6K7VPP.js";import"../chunk-SNR5VFWG.js";import"../chunk-FWB47YCH.js";import"../chunk-K53W3ELO.js";import"../chunk-TTFUM47A.js";import"../chunk-VX44UTQ5.js";import"../chunk-ERGJN7FJ.js";import"../chunk-5TXQLK4G.js";import"../chunk-JFWMAYEH.js";import"../chunk-KRJTW535.js";import"../chunk-E67CIG6A.js";import"../chunk-ARIV4AT5.js";import"../chunk-GSTOGDAJ.js";import"../chunk-6FLLFCBU.js";import"../chunk-AX5S56DS.js";import"../chunk-E23RKOQJ.js";import"../chunk-JUY7CBSL.js";import"../chunk-WRWNN2NW.js";import"../chunk-QM3RCK5P.js";import"../chunk-RZCX6IBE.js";import"../chunk-NZJGC6ZW.js";import"../chunk-ZNK6AH2G.js";import"../chunk-OS3FCYZY.js";export{a as ThemePanel,b as ThemePanelContent};
1
+ "use client";import{a,b}from"../chunk-25LBWKEV.js";import"../chunk-IBF5U4QW.js";import"../chunk-WHFJ4JUN.js";import"../chunk-72AHPGPN.js";import"../chunk-VX6ARMWP.js";import"../chunk-4XGGX2V2.js";import"../chunk-COWZAUZR.js";import"../chunk-5GXFBLBJ.js";import"../chunk-UBOOUDS4.js";import"../chunk-XPRPYCII.js";import"../chunk-5BWLY27A.js";import"../chunk-73QGEY2I.js";import"../chunk-2N2AQNJH.js";import"../chunk-HAGKI7NA.js";import"../chunk-PS6NEG5A.js";import"../chunk-OLAWVEAI.js";import"../chunk-BPVVFHYD.js";import"../chunk-4YFJWXL2.js";import"../chunk-FGORMEAO.js";import"../chunk-ERNM3KVF.js";import"../chunk-GO7OHBHW.js";import"../chunk-PZ7OYATT.js";import"../chunk-MJJ7XDIP.js";import"../chunk-5WRCK4R7.js";import"../chunk-4XKK32M4.js";import"../chunk-G2CKYO2I.js";import"../chunk-AXUDFYLY.js";import"../chunk-KNQBAOMV.js";import"../chunk-FD2TR343.js";import"../chunk-WYADYDPN.js";import"../chunk-ZE2KAVXW.js";import"../chunk-ZWZGUBL4.js";import"../chunk-SEY4NA45.js";import"../chunk-WAURCNAS.js";import"../chunk-F22ZRNWL.js";import"../chunk-XYVLQDGR.js";import"../chunk-ZZLZGHZQ.js";import"../chunk-HF5WY5YE.js";import"../chunk-3KB2XWBE.js";import"../chunk-FHOCUZDR.js";import"../chunk-SMGDH54W.js";import"../chunk-AGAQC4HH.js";import"../chunk-5T6K7VPP.js";import"../chunk-SNR5VFWG.js";import"../chunk-FWB47YCH.js";import"../chunk-K53W3ELO.js";import"../chunk-TTFUM47A.js";import"../chunk-VX44UTQ5.js";import"../chunk-ERGJN7FJ.js";import"../chunk-5TXQLK4G.js";import"../chunk-JFWMAYEH.js";import"../chunk-KRJTW535.js";import"../chunk-E67CIG6A.js";import"../chunk-ARIV4AT5.js";import"../chunk-GSTOGDAJ.js";import"../chunk-6FLLFCBU.js";import"../chunk-AX5S56DS.js";import"../chunk-E23RKOQJ.js";import"../chunk-JUY7CBSL.js";import"../chunk-WRWNN2NW.js";import"../chunk-QM3RCK5P.js";import"../chunk-RZCX6IBE.js";import"../chunk-NZJGC6ZW.js";import"../chunk-ZNK6AH2G.js";import"../chunk-OS3FCYZY.js";export{a as ThemePanel,b as ThemePanelContent};
2
2
  //# sourceMappingURL=theme-panel.js.map
@@ -0,0 +1,12 @@
1
+ import * as React from 'react';
2
+ /**
3
+ * Publishes how much content is hidden past each block edge of a scroller, as
4
+ * `--scroll-overflow-start` and `--scroll-overflow-end` (px) on the element.
5
+ * The scroll fade reads them, so an edge fades only while content is hidden
6
+ * there, and the fade ramps in over the first pixels of scrolling.
7
+ *
8
+ * Writes happen at most once per frame, on scroll and when the element or its
9
+ * content resizes. Nothing re-renders.
10
+ */
11
+ export declare function useScrollEdges<T extends HTMLElement>(enabled: boolean): React.Dispatch<React.SetStateAction<T | null>>;
12
+ //# sourceMappingURL=use-scroll-edges.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-scroll-edges.d.ts","sourceRoot":"","sources":["../../../src/hooks/use-scroll-edges.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,WAAW,EAAE,OAAO,EAAE,OAAO,kDAkCrE"}
@@ -0,0 +1,2 @@
1
+ import{a}from"../chunk-5BWLY27A.js";import"../chunk-OS3FCYZY.js";export{a as useScrollEdges};
2
+ //# sourceMappingURL=use-scroll-edges.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
package/dist/esm/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import"./chunk-EL7YGOTY.js";import"./chunk-JKS2YXMS.js";import{f as zo}from"./chunk-47LMOIW3.js";import{a as Ao}from"./chunk-ERY5TH2M.js";import"./chunk-4WVNMGI5.js";import{a as Bo}from"./chunk-YWENWZOU.js";import{c as no}from"./chunk-ALWNS44Q.js";import{a as qo,b as so}from"./chunk-MWIIGYAJ.js";import{a as wo}from"./chunk-X3JM2565.js";import{a as yo}from"./chunk-65GAANJD.js";import{a as vo}from"./chunk-VK7RNXUO.js";import{a as uo}from"./chunk-EE54S7YV.js";import{c as io}from"./chunk-K3UAS7RW.js";import{h as jo}from"./chunk-ABSKRHVM.js";import"./chunk-BALS3AVM.js";import{e as ko}from"./chunk-VNH7BJOA.js";import"./chunk-TZTUPQYK.js";import{a as lo}from"./chunk-EPTYNVCU.js";import"./chunk-CLMOWP5T.js";import"./chunk-MN3XALXD.js";import{a as go}from"./chunk-43A5GUSI.js";import"./chunk-XI5YXUCK.js";import{a as ho}from"./chunk-KJUDZCYK.js";import"./chunk-AF6XKU3W.js";import"./chunk-AUV6B4AH.js";import{h as Do}from"./chunk-PYHEBG5I.js";import{p as Co}from"./chunk-YQRSAP46.js";import"./chunk-2CMM7MEL.js";import{a as co}from"./chunk-VZSQATP6.js";import"./chunk-OJU5GCDZ.js";import{c as to}from"./chunk-FG7XM7KJ.js";import{h as ao}from"./chunk-VHECAEUP.js";import"./chunk-EBQZ3Z22.js";import{a as bo}from"./chunk-VR7ZAFYN.js";import"./chunk-CRSHBENJ.js";import{g as Eo}from"./chunk-QWVU2TW4.js";import"./chunk-ADXZNG4F.js";import"./chunk-2EQWBT2S.js";import{a as xo}from"./chunk-OGXZHAQL.js";import"./chunk-NIX6Z3JG.js";import"./chunk-FC2DBBJ3.js";import{c as fo}from"./chunk-2I7QRVJ5.js";import{a as mo}from"./chunk-CIYF56YS.js";import"./chunk-STPMPY3X.js";import{a as po}from"./chunk-FHEHX7CE.js";import{a as $}from"./chunk-XEZXKPLE.js";import{a as oo}from"./chunk-CDG5WH4U.js";import"./chunk-5XV4QEP5.js";import{a as ro}from"./chunk-GLERJXVS.js";import"./chunk-MCQCG6AS.js";import{c as eo}from"./chunk-CRTH5LNU.js";import"./chunk-OWMA6GTG.js";import"./chunk-VLTXI4A7.js";import{a as Z}from"./chunk-YBSRX63K.js";import"./chunk-AGSSWWFI.js";import{i as Fo}from"./chunk-W4WWN3RC.js";import{e as _}from"./chunk-7UHKEJ7Q.js";import"./chunk-Y3A6ZU24.js";import{a as X}from"./chunk-IHK3H2OM.js";import{a as W}from"./chunk-S5C5YRBS.js";import"./chunk-IBF5U4QW.js";import"./chunk-L6UXAITB.js";import"./chunk-GFOSP3PZ.js";import{a as Y}from"./chunk-CSKZZOI2.js";import"./chunk-JAMLW534.js";import{d as V}from"./chunk-MEO7MJMQ.js";import"./chunk-VJSZG35J.js";import{g as S}from"./chunk-DSJY5RI3.js";import{a as R}from"./chunk-MHANZINI.js";import{o as T}from"./chunk-PHC3QBV3.js";import"./chunk-WOR3JCLX.js";import{a as U}from"./chunk-7FC7HF76.js";import"./chunk-4JQZUQY7.js";import{l as N}from"./chunk-T4OR62DQ.js";import{g as M}from"./chunk-WHFJ4JUN.js";import"./chunk-72AHPGPN.js";import"./chunk-RDAMYQFF.js";import{a as O}from"./chunk-4ME6O27S.js";import"./chunk-PPNWGWN3.js";import{n as P}from"./chunk-NIM7DIVH.js";import"./chunk-OA7C34MJ.js";import{e as Q}from"./chunk-RNTCHVFI.js";import"./chunk-NIIEIZKQ.js";import{c as I}from"./chunk-BW5CO4PZ.js";import{a as H}from"./chunk-VX6ARMWP.js";import{c as J}from"./chunk-OMGZG52I.js";import"./chunk-V32EP3S7.js";import"./chunk-5SNHUVDA.js";import{a as K}from"./chunk-KFR3CK24.js";import"./chunk-UICSVJ3B.js";import{a as L}from"./chunk-N4GTDLRD.js";import"./chunk-KZWNGWIM.js";import{d as v}from"./chunk-CKMMUHKE.js";import"./chunk-OGVKSYLL.js";import{a as w}from"./chunk-JDGJSNWT.js";import"./chunk-OO652UQW.js";import{l as G}from"./chunk-YTD3AJAU.js";import{b as E,c as F}from"./chunk-RJP5QUXO.js";import{a as y}from"./chunk-4XGGX2V2.js";import{a as D}from"./chunk-CTA5ODAO.js";import"./chunk-5GXFBLBJ.js";import"./chunk-UBOOUDS4.js";import"./chunk-5KICSAT7.js";import{a as z,b as A,c as B,d as C}from"./chunk-IX5HIHVI.js";import{a as u}from"./chunk-73QGEY2I.js";import{a as s}from"./chunk-2N2AQNJH.js";import"./chunk-667BKCUG.js";import"./chunk-HAGKI7NA.js";import{a as j}from"./chunk-HJU4I34X.js";import"./chunk-PS6NEG5A.js";import"./chunk-QFPHEY77.js";import{a as l}from"./chunk-KMPE7TJ6.js";import{a as k}from"./chunk-OLAWVEAI.js";import"./chunk-BPVVFHYD.js";import"./chunk-QQ62LO3X.js";import{a as n}from"./chunk-MS5J4MF6.js";import{a as q}from"./chunk-4YFJWXL2.js";import"./chunk-FGORMEAO.js";import"./chunk-ROSWI2CL.js";import{a as b}from"./chunk-ERNM3KVF.js";import{f as c}from"./chunk-Y5RCH23Z.js";import"./chunk-EDKQURDU.js";import{h}from"./chunk-LXWPEDPZ.js";import{a as d}from"./chunk-GO7OHBHW.js";import"./chunk-PZ7OYATT.js";import"./chunk-MJJ7XDIP.js";import{a as g}from"./chunk-5WRCK4R7.js";import"./chunk-4XKK32M4.js";import"./chunk-G2CKYO2I.js";import"./chunk-AXUDFYLY.js";import"./chunk-KNQBAOMV.js";import"./chunk-FD2TR343.js";import"./chunk-WYADYDPN.js";import"./chunk-ZE2KAVXW.js";import"./chunk-ZWZGUBL4.js";import"./chunk-XKBLNVOD.js";import"./chunk-GCUGJXI2.js";import{a as i}from"./chunk-Y7LT3F6R.js";import"./chunk-7RQNB63F.js";import{a as t,b as x,c as a}from"./chunk-SEY4NA45.js";import"./chunk-WAURCNAS.js";import"./chunk-F22ZRNWL.js";import"./chunk-XYVLQDGR.js";import"./chunk-YAQBIO2B.js";import"./chunk-AGNIFHOE.js";import"./chunk-HCNO7PX6.js";import"./chunk-GMHA5CFH.js";import"./chunk-A2XVR7GL.js";import"./chunk-BZZXXZ3O.js";import"./chunk-2LYX5S7H.js";import"./chunk-HWQ3NTJP.js";import"./chunk-3J6AUDID.js";import"./chunk-ZZLZGHZQ.js";import{a as f}from"./chunk-HF5WY5YE.js";import"./chunk-3KB2XWBE.js";import{a as e}from"./chunk-FHOCUZDR.js";import"./chunk-SMGDH54W.js";import{a as m}from"./chunk-AGAQC4HH.js";import"./chunk-5T6K7VPP.js";import"./chunk-SNR5VFWG.js";import{b as o,c as r}from"./chunk-FWB47YCH.js";import"./chunk-K53W3ELO.js";import"./chunk-TTFUM47A.js";import"./chunk-VX44UTQ5.js";import"./chunk-ERGJN7FJ.js";import"./chunk-5TXQLK4G.js";import"./chunk-JFWMAYEH.js";import"./chunk-KRJTW535.js";import"./chunk-F6V7GBNQ.js";import"./chunk-3KSGRY6I.js";import"./chunk-ZOY43B55.js";import{a as p}from"./chunk-E67CIG6A.js";import"./chunk-ARIV4AT5.js";import"./chunk-3XSB7YIM.js";import"./chunk-YA5DF67M.js";import"./chunk-GSTOGDAJ.js";import"./chunk-6FLLFCBU.js";import"./chunk-AX5S56DS.js";import"./chunk-E23RKOQJ.js";import"./chunk-JUY7CBSL.js";import"./chunk-WRWNN2NW.js";import"./chunk-QM3RCK5P.js";import"./chunk-RZCX6IBE.js";import"./chunk-NZJGC6ZW.js";import"./chunk-WMGIFPI2.js";import"./chunk-CFNESRYI.js";import"./chunk-ZNK6AH2G.js";import"./chunk-JSW6J6RS.js";import"./chunk-OS3FCYZY.js";export{b as AccessibleIcon,c as Accordion,h as AlertDialog,i as AspectRatio,j as Avatar,l as Badge,n as Blockquote,q as Box,u as Button,v as Callout,w as Card,G as Chatbar,K as Checkbox,I as CheckboxCards,J as CheckboxGroup,B as ChevronDownIcon,L as Code,N as Combobox,F as Confirmation,O as Container,P as ContextMenu,Q as DataList,S as Dialog,T as DropdownMenu,U as Em,e as Flex,H as Grid,d as Heading,V as HoverCard,y as IconButton,X as Image,Y as Inset,p as Kbd,Z as Link,Fo as MessageScroller,_ as Navbar,E as Notice,M as Popover,$ as Portal,oo as Progress,ro as Quote,mo as Radio,eo as RadioCards,fo as RadioGroup,po as Reset,D as ScrollArea,xo as Section,to as SegmentedControl,ao as Select,bo as Separator,Eo as Sheet,Do as Shell,Co as Sidebar,W as Skeleton,co as Slider,o as Slot,r as Slottable,f as Spinner,go as Strong,ho as Switch,io as TabNav,jo as Table,ko as Tabs,g as Text,lo as TextArea,no as TextField,a as Theme,t as ThemeContext,qo as ThemePanel,so as ThemePanelContent,A as ThickCheckIcon,C as ThickChevronRightIcon,z as ThickDividerHorizontalIcon,wo as ToggleButton,yo as ToggleIconButton,zo as Toolbar,k as Tooltip,Ao as UserCard,Bo as VirtualMenu,m as VisuallyHidden,R as useBodyPointerEventsCleanup,uo as useLiveAnnouncer,x as useThemeContext,vo as useToggleState,s as useTooltipWrapper};
1
+ import"./chunk-EL7YGOTY.js";import"./chunk-JKS2YXMS.js";import{f as zo}from"./chunk-47LMOIW3.js";import{a as Ao}from"./chunk-ERY5TH2M.js";import"./chunk-4WVNMGI5.js";import{a as Bo}from"./chunk-YWENWZOU.js";import{c as no}from"./chunk-ALWNS44Q.js";import{a as qo,b as so}from"./chunk-25LBWKEV.js";import{a as wo}from"./chunk-X3JM2565.js";import{a as yo}from"./chunk-65GAANJD.js";import{a as vo}from"./chunk-VK7RNXUO.js";import{a as uo}from"./chunk-EE54S7YV.js";import{c as io}from"./chunk-K3UAS7RW.js";import{h as jo}from"./chunk-36A5BYCN.js";import"./chunk-BALS3AVM.js";import{e as ko}from"./chunk-VNH7BJOA.js";import"./chunk-TZTUPQYK.js";import{a as lo}from"./chunk-EPTYNVCU.js";import"./chunk-CLMOWP5T.js";import"./chunk-MN3XALXD.js";import{a as go}from"./chunk-43A5GUSI.js";import"./chunk-XI5YXUCK.js";import{a as ho}from"./chunk-KJUDZCYK.js";import"./chunk-AF6XKU3W.js";import"./chunk-AUV6B4AH.js";import{h as Do}from"./chunk-PYHEBG5I.js";import{p as Co}from"./chunk-53SZ4Y23.js";import"./chunk-2CMM7MEL.js";import{a as co}from"./chunk-VZSQATP6.js";import"./chunk-OJU5GCDZ.js";import{c as to}from"./chunk-FG7XM7KJ.js";import{h as ao}from"./chunk-VHECAEUP.js";import"./chunk-EBQZ3Z22.js";import{a as bo}from"./chunk-VR7ZAFYN.js";import"./chunk-CRSHBENJ.js";import{g as Eo}from"./chunk-QWVU2TW4.js";import"./chunk-ADXZNG4F.js";import"./chunk-2EQWBT2S.js";import{a as xo}from"./chunk-OGXZHAQL.js";import"./chunk-NIX6Z3JG.js";import"./chunk-FC2DBBJ3.js";import{c as fo}from"./chunk-2I7QRVJ5.js";import{a as mo}from"./chunk-CIYF56YS.js";import"./chunk-STPMPY3X.js";import{a as po}from"./chunk-FHEHX7CE.js";import{a as $}from"./chunk-XEZXKPLE.js";import{a as oo}from"./chunk-CDG5WH4U.js";import"./chunk-5XV4QEP5.js";import{a as ro}from"./chunk-GLERJXVS.js";import"./chunk-MCQCG6AS.js";import{c as eo}from"./chunk-CRTH5LNU.js";import"./chunk-OWMA6GTG.js";import"./chunk-VLTXI4A7.js";import{a as Z}from"./chunk-YBSRX63K.js";import"./chunk-AGSSWWFI.js";import{i as Fo}from"./chunk-4D2OAD6I.js";import{e as _}from"./chunk-7UHKEJ7Q.js";import"./chunk-Y3A6ZU24.js";import{a as X}from"./chunk-IHK3H2OM.js";import{a as W}from"./chunk-S5C5YRBS.js";import"./chunk-IBF5U4QW.js";import"./chunk-L6UXAITB.js";import"./chunk-GFOSP3PZ.js";import{a as Y}from"./chunk-CSKZZOI2.js";import"./chunk-JAMLW534.js";import{d as V}from"./chunk-MEO7MJMQ.js";import"./chunk-VJSZG35J.js";import{g as S}from"./chunk-DSJY5RI3.js";import{a as R}from"./chunk-MHANZINI.js";import{o as T}from"./chunk-MZXHKM4V.js";import"./chunk-WOR3JCLX.js";import{a as U}from"./chunk-7FC7HF76.js";import"./chunk-4JQZUQY7.js";import{l as N}from"./chunk-T4OR62DQ.js";import{g as M}from"./chunk-WHFJ4JUN.js";import"./chunk-72AHPGPN.js";import"./chunk-RDAMYQFF.js";import{a as O}from"./chunk-4ME6O27S.js";import"./chunk-PPNWGWN3.js";import{n as P}from"./chunk-PQKJNRMR.js";import"./chunk-OA7C34MJ.js";import{e as Q}from"./chunk-RNTCHVFI.js";import"./chunk-NIIEIZKQ.js";import{c as I}from"./chunk-BW5CO4PZ.js";import{a as H}from"./chunk-VX6ARMWP.js";import{c as J}from"./chunk-OMGZG52I.js";import"./chunk-V32EP3S7.js";import"./chunk-5SNHUVDA.js";import{a as K}from"./chunk-KFR3CK24.js";import"./chunk-UICSVJ3B.js";import{a as L}from"./chunk-N4GTDLRD.js";import"./chunk-KZWNGWIM.js";import{d as v}from"./chunk-CKMMUHKE.js";import"./chunk-OGVKSYLL.js";import{a as w}from"./chunk-JDGJSNWT.js";import"./chunk-OO652UQW.js";import{l as G}from"./chunk-QK5RBHKV.js";import{b as E,c as F}from"./chunk-RJP5QUXO.js";import{a as y}from"./chunk-4XGGX2V2.js";import{a as D}from"./chunk-COWZAUZR.js";import"./chunk-5GXFBLBJ.js";import"./chunk-UBOOUDS4.js";import"./chunk-XPRPYCII.js";import"./chunk-5BWLY27A.js";import{a as z,b as A,c as B,d as C}from"./chunk-IX5HIHVI.js";import{a as u}from"./chunk-73QGEY2I.js";import{a as s}from"./chunk-2N2AQNJH.js";import"./chunk-667BKCUG.js";import"./chunk-HAGKI7NA.js";import{a as j}from"./chunk-HJU4I34X.js";import"./chunk-PS6NEG5A.js";import"./chunk-QFPHEY77.js";import{a as l}from"./chunk-KMPE7TJ6.js";import{a as k}from"./chunk-OLAWVEAI.js";import"./chunk-BPVVFHYD.js";import"./chunk-QQ62LO3X.js";import{a as n}from"./chunk-MS5J4MF6.js";import{a as q}from"./chunk-4YFJWXL2.js";import"./chunk-FGORMEAO.js";import"./chunk-ROSWI2CL.js";import{a as b}from"./chunk-ERNM3KVF.js";import{f as c}from"./chunk-Y5RCH23Z.js";import"./chunk-EDKQURDU.js";import{h}from"./chunk-LXWPEDPZ.js";import{a as d}from"./chunk-GO7OHBHW.js";import"./chunk-PZ7OYATT.js";import"./chunk-MJJ7XDIP.js";import{a as g}from"./chunk-5WRCK4R7.js";import"./chunk-4XKK32M4.js";import"./chunk-G2CKYO2I.js";import"./chunk-AXUDFYLY.js";import"./chunk-KNQBAOMV.js";import"./chunk-FD2TR343.js";import"./chunk-WYADYDPN.js";import"./chunk-ZE2KAVXW.js";import"./chunk-ZWZGUBL4.js";import"./chunk-XKBLNVOD.js";import"./chunk-GCUGJXI2.js";import{a as i}from"./chunk-Y7LT3F6R.js";import"./chunk-7RQNB63F.js";import{a as t,b as x,c as a}from"./chunk-SEY4NA45.js";import"./chunk-WAURCNAS.js";import"./chunk-F22ZRNWL.js";import"./chunk-XYVLQDGR.js";import"./chunk-YAQBIO2B.js";import"./chunk-AGNIFHOE.js";import"./chunk-HCNO7PX6.js";import"./chunk-GMHA5CFH.js";import"./chunk-A2XVR7GL.js";import"./chunk-BZZXXZ3O.js";import"./chunk-2LYX5S7H.js";import"./chunk-HWQ3NTJP.js";import"./chunk-3J6AUDID.js";import"./chunk-ZZLZGHZQ.js";import{a as f}from"./chunk-HF5WY5YE.js";import"./chunk-3KB2XWBE.js";import{a as e}from"./chunk-FHOCUZDR.js";import"./chunk-SMGDH54W.js";import{a as m}from"./chunk-AGAQC4HH.js";import"./chunk-5T6K7VPP.js";import"./chunk-SNR5VFWG.js";import{b as o,c as r}from"./chunk-FWB47YCH.js";import"./chunk-K53W3ELO.js";import"./chunk-TTFUM47A.js";import"./chunk-VX44UTQ5.js";import"./chunk-ERGJN7FJ.js";import"./chunk-5TXQLK4G.js";import"./chunk-JFWMAYEH.js";import"./chunk-KRJTW535.js";import"./chunk-F6V7GBNQ.js";import"./chunk-3KSGRY6I.js";import"./chunk-ZOY43B55.js";import{a as p}from"./chunk-E67CIG6A.js";import"./chunk-ARIV4AT5.js";import"./chunk-3XSB7YIM.js";import"./chunk-YA5DF67M.js";import"./chunk-GSTOGDAJ.js";import"./chunk-6FLLFCBU.js";import"./chunk-AX5S56DS.js";import"./chunk-E23RKOQJ.js";import"./chunk-JUY7CBSL.js";import"./chunk-WRWNN2NW.js";import"./chunk-QM3RCK5P.js";import"./chunk-RZCX6IBE.js";import"./chunk-NZJGC6ZW.js";import"./chunk-WMGIFPI2.js";import"./chunk-CFNESRYI.js";import"./chunk-ZNK6AH2G.js";import"./chunk-JSW6J6RS.js";import"./chunk-OS3FCYZY.js";export{b as AccessibleIcon,c as Accordion,h as AlertDialog,i as AspectRatio,j as Avatar,l as Badge,n as Blockquote,q as Box,u as Button,v as Callout,w as Card,G as Chatbar,K as Checkbox,I as CheckboxCards,J as CheckboxGroup,B as ChevronDownIcon,L as Code,N as Combobox,F as Confirmation,O as Container,P as ContextMenu,Q as DataList,S as Dialog,T as DropdownMenu,U as Em,e as Flex,H as Grid,d as Heading,V as HoverCard,y as IconButton,X as Image,Y as Inset,p as Kbd,Z as Link,Fo as MessageScroller,_ as Navbar,E as Notice,M as Popover,$ as Portal,oo as Progress,ro as Quote,mo as Radio,eo as RadioCards,fo as RadioGroup,po as Reset,D as ScrollArea,xo as Section,to as SegmentedControl,ao as Select,bo as Separator,Eo as Sheet,Do as Shell,Co as Sidebar,W as Skeleton,co as Slider,o as Slot,r as Slottable,f as Spinner,go as Strong,ho as Switch,io as TabNav,jo as Table,ko as Tabs,g as Text,lo as TextArea,no as TextField,a as Theme,t as ThemeContext,qo as ThemePanel,so as ThemePanelContent,A as ThickCheckIcon,C as ThickChevronRightIcon,z as ThickDividerHorizontalIcon,wo as ToggleButton,yo as ToggleIconButton,zo as Toolbar,k as Tooltip,Ao as UserCard,Bo as VirtualMenu,m as VisuallyHidden,R as useBodyPointerEventsCleanup,uo as useLiveAnnouncer,x as useThemeContext,vo as useToggleState,s as useTooltipWrapper};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- import{a as Go}from"../chunk-MQWH2IFO.js";import{a as yo,b as zo,c as Ao}from"../chunk-BALS3AVM.js";import{a as Bo,b as Co}from"../chunk-TZTUPQYK.js";import{a as Do}from"../chunk-CLMOWP5T.js";import{a as Eo,b as Fo}from"../chunk-MN3XALXD.js";import{a as uo}from"../chunk-XI5YXUCK.js";import{a as vo}from"../chunk-AF6XKU3W.js";import{a as wo}from"../chunk-AUV6B4AH.js";import{a as so}from"../chunk-OJU5GCDZ.js";import{a as ko,b as lo,c as no}from"../chunk-EBQZ3Z22.js";import{a as qo}from"../chunk-CRSHBENJ.js";import{a as jo}from"../chunk-NIX6Z3JG.js";import{a as io}from"../chunk-FC2DBBJ3.js";import"../chunk-STPMPY3X.js";import{a as bo}from"../chunk-5XV4QEP5.js";import{a as co}from"../chunk-MCQCG6AS.js";import{a as go}from"../chunk-OWMA6GTG.js";import{a as ho}from"../chunk-VLTXI4A7.js";import{a as ao}from"../chunk-AGSSWWFI.js";import{a as to}from"../chunk-L6UXAITB.js";import{a as po}from"../chunk-GFOSP3PZ.js";import{a as xo}from"../chunk-JAMLW534.js";import{a as mo}from"../chunk-VJSZG35J.js";import"../chunk-YKPMLM7M.js";import"../chunk-WOR3JCLX.js";import{a as fo}from"../chunk-4JQZUQY7.js";import{a as _}from"../chunk-72AHPGPN.js";import{a as $}from"../chunk-PPNWGWN3.js";import"../chunk-OA7C34MJ.js";import{a as oo,b as ro,c as eo}from"../chunk-NIIEIZKQ.js";import{a as Y}from"../chunk-5SNHUVDA.js";import"../chunk-UICSVJ3B.js";import{a as Z}from"../chunk-KZWNGWIM.js";import"../chunk-6DWDNKLS.js";import{a as T}from"../chunk-OGVKSYLL.js";import{a as U}from"../chunk-OO652UQW.js";import{a as V}from"../chunk-5KICSAT7.js";import{a as X}from"../chunk-667BKCUG.js";import{a as W}from"../chunk-HAGKI7NA.js";import{a as O}from"../chunk-QFPHEY77.js";import{a as Q}from"../chunk-BPVVFHYD.js";import{a as P}from"../chunk-QQ62LO3X.js";import{a as R}from"../chunk-WGYUWEQV.js";import{a as S}from"../chunk-FGORMEAO.js";import{a as M}from"../chunk-PZ7OYATT.js";import{a as N}from"../chunk-4XKK32M4.js";import{a as I}from"../chunk-G2CKYO2I.js";import"../chunk-AXUDFYLY.js";import{a as H}from"../chunk-KNQBAOMV.js";import{a as L}from"../chunk-FD2TR343.js";import{a as J}from"../chunk-WYADYDPN.js";import{a as K}from"../chunk-ZE2KAVXW.js";import{a as F,b as G}from"../chunk-ZWZGUBL4.js";import{a as E}from"../chunk-XKBLNVOD.js";import{a as D}from"../chunk-GCUGJXI2.js";import{a as C}from"../chunk-XYVLQDGR.js";import{a as l}from"../chunk-3KB2XWBE.js";import{a as k}from"../chunk-SMGDH54W.js";import{a as j}from"../chunk-SNR5VFWG.js";import{a as h}from"../chunk-K53W3ELO.js";import{a as c}from"../chunk-TTFUM47A.js";import{a as d}from"../chunk-VX44UTQ5.js";import{a as g}from"../chunk-ERGJN7FJ.js";import{a as x}from"../chunk-JFWMAYEH.js";import{a as p,b as t}from"../chunk-KRJTW535.js";import{a as n}from"../chunk-F6V7GBNQ.js";import{a as q,b as s,c as u,d as v,e as w,f as y}from"../chunk-3KSGRY6I.js";import{a as z}from"../chunk-ARIV4AT5.js";import{a as i}from"../chunk-GSTOGDAJ.js";import{a,b}from"../chunk-WRWNN2NW.js";import{a as o}from"../chunk-NZJGC6ZW.js";import{a as A}from"../chunk-WMGIFPI2.js";import{a as B}from"../chunk-CFNESRYI.js";import{a as r,b as e,c as f,d as m}from"../chunk-ZNK6AH2G.js";import"../chunk-OS3FCYZY.js";export{m as accentColorPropDef,r as accentColors,E as alertDialogContentPropDefs,o as asChildPropDef,O as avatarPropDefs,P as badgePropDefs,R as blockquotePropDefs,S as boxPropDefs,b as breakpointSet,a as breakpoints,x as buttonPropDefs,T as calloutRootPropDefs,U as cardPropDefs,X as checkboxCardsRootPropDefs,Y as checkboxGroupRootPropDefs,n as checkboxPropDefs,Z as codePropDefs,f as colorPropDef,$ as containerPropDefs,w as contextMenuCheckboxItemPropDefs,u as contextMenuContentPropDefs,v as contextMenuItemPropDefs,y as contextMenuRadioItemPropDefs,u as contextMenuSubContentPropDefs,ro as dataListItemPropDefs,eo as dataListLabelPropDefs,oo as dataListRootPropDefs,D as dialogContentPropDefs,w as dropdownMenuCheckboxItemPropDefs,s as dropdownMenuContentPropDefs,v as dropdownMenuItemPropDefs,y as dropdownMenuRadioItemPropDefs,u as dropdownMenuSubContentPropDefs,fo as emPropDefs,F as emphases,G as emphasisPropDef,k as flexPropDefs,j as gapPropDefs,e as grayColors,W as gridPropDefs,M as headingPropDefs,d as heightPropDefs,mo as hoverCardContentPropDefs,x as iconButtonPropDefs,po as imagePropDefs,xo as insetPropDefs,z as kbdPropDefs,h as layoutPropDefs,H as leadingTrimPropDef,ao as linkPropDefs,i as marginPropDefs,c as paddingPropDefs,_ as popoverContentPropDefs,bo as progressPropDefs,co as quotePropDefs,p as radii,go as radioCardsRootPropDefs,ho as radioGroupRootPropDefs,A as radioPropDefs,t as radiusPropDef,V as scrollAreaPropDefs,jo as sectionPropDefs,io as segmentedControlRootPropDefs,no as selectContentPropDefs,ko as selectRootPropDefs,lo as selectTriggerPropDefs,qo as separatorPropDefs,Go as shadowPropDefs,to as skeletonPropDefs,so as sliderPropDefs,l as spinnerPropDefs,uo as strongPropDefs,q as submenuBehaviors,vo as switchPropDefs,wo as tabNavLinkPropDefs,B as tabNavRootPropDefs,Ao as tableCellPropDefs,yo as tableRootPropDefs,zo as tableRowPropDefs,Co as tabsContentPropDefs,B as tabsListPropDefs,Bo as tabsRootPropDefs,I as textAlignPropDef,Do as textAreaPropDefs,Eo as textFieldRootPropDefs,Fo as textFieldSlotPropDefs,N as textPropDefs,J as textWrapPropDef,C as themePropDefs,Q as tooltipPropDefs,K as truncatePropDef,L as weightPropDef,g as widthPropDefs};
1
+ import{a as Go}from"../chunk-MQWH2IFO.js";import{a as yo,b as zo,c as Ao}from"../chunk-BALS3AVM.js";import{a as Bo,b as Co}from"../chunk-TZTUPQYK.js";import{a as Do}from"../chunk-CLMOWP5T.js";import{a as Eo,b as Fo}from"../chunk-MN3XALXD.js";import{a as uo}from"../chunk-XI5YXUCK.js";import{a as vo}from"../chunk-AF6XKU3W.js";import{a as wo}from"../chunk-AUV6B4AH.js";import{a as so}from"../chunk-OJU5GCDZ.js";import{a as ko,b as lo,c as no}from"../chunk-EBQZ3Z22.js";import{a as qo}from"../chunk-CRSHBENJ.js";import{a as jo}from"../chunk-NIX6Z3JG.js";import{a as io}from"../chunk-FC2DBBJ3.js";import"../chunk-STPMPY3X.js";import{a as bo}from"../chunk-5XV4QEP5.js";import{a as co}from"../chunk-MCQCG6AS.js";import{a as go}from"../chunk-OWMA6GTG.js";import{a as ho}from"../chunk-VLTXI4A7.js";import{a as ao}from"../chunk-AGSSWWFI.js";import{a as to}from"../chunk-L6UXAITB.js";import{a as po}from"../chunk-GFOSP3PZ.js";import{a as xo}from"../chunk-JAMLW534.js";import{a as mo}from"../chunk-VJSZG35J.js";import"../chunk-YKPMLM7M.js";import"../chunk-WOR3JCLX.js";import{a as fo}from"../chunk-4JQZUQY7.js";import{a as _}from"../chunk-72AHPGPN.js";import{a as $}from"../chunk-PPNWGWN3.js";import"../chunk-OA7C34MJ.js";import{a as oo,b as ro,c as eo}from"../chunk-NIIEIZKQ.js";import{a as Y}from"../chunk-5SNHUVDA.js";import"../chunk-UICSVJ3B.js";import{a as Z}from"../chunk-KZWNGWIM.js";import"../chunk-6DWDNKLS.js";import{a as T}from"../chunk-OGVKSYLL.js";import{a as U}from"../chunk-OO652UQW.js";import{a as V}from"../chunk-XPRPYCII.js";import{a as X}from"../chunk-667BKCUG.js";import{a as W}from"../chunk-HAGKI7NA.js";import{a as O}from"../chunk-QFPHEY77.js";import{a as Q}from"../chunk-BPVVFHYD.js";import{a as P}from"../chunk-QQ62LO3X.js";import{a as R}from"../chunk-WGYUWEQV.js";import{a as S}from"../chunk-FGORMEAO.js";import{a as M}from"../chunk-PZ7OYATT.js";import{a as N}from"../chunk-4XKK32M4.js";import{a as I}from"../chunk-G2CKYO2I.js";import"../chunk-AXUDFYLY.js";import{a as H}from"../chunk-KNQBAOMV.js";import{a as L}from"../chunk-FD2TR343.js";import{a as J}from"../chunk-WYADYDPN.js";import{a as K}from"../chunk-ZE2KAVXW.js";import{a as F,b as G}from"../chunk-ZWZGUBL4.js";import{a as E}from"../chunk-XKBLNVOD.js";import{a as D}from"../chunk-GCUGJXI2.js";import{a as C}from"../chunk-XYVLQDGR.js";import{a as l}from"../chunk-3KB2XWBE.js";import{a as k}from"../chunk-SMGDH54W.js";import{a as j}from"../chunk-SNR5VFWG.js";import{a as h}from"../chunk-K53W3ELO.js";import{a as c}from"../chunk-TTFUM47A.js";import{a as d}from"../chunk-VX44UTQ5.js";import{a as g}from"../chunk-ERGJN7FJ.js";import{a as x}from"../chunk-JFWMAYEH.js";import{a as p,b as t}from"../chunk-KRJTW535.js";import{a as n}from"../chunk-F6V7GBNQ.js";import{a as q,b as s,c as u,d as v,e as w,f as y}from"../chunk-3KSGRY6I.js";import{a as z}from"../chunk-ARIV4AT5.js";import{a as i}from"../chunk-GSTOGDAJ.js";import{a,b}from"../chunk-WRWNN2NW.js";import{a as o}from"../chunk-NZJGC6ZW.js";import{a as A}from"../chunk-WMGIFPI2.js";import{a as B}from"../chunk-CFNESRYI.js";import{a as r,b as e,c as f,d as m}from"../chunk-ZNK6AH2G.js";import"../chunk-OS3FCYZY.js";export{m as accentColorPropDef,r as accentColors,E as alertDialogContentPropDefs,o as asChildPropDef,O as avatarPropDefs,P as badgePropDefs,R as blockquotePropDefs,S as boxPropDefs,b as breakpointSet,a as breakpoints,x as buttonPropDefs,T as calloutRootPropDefs,U as cardPropDefs,X as checkboxCardsRootPropDefs,Y as checkboxGroupRootPropDefs,n as checkboxPropDefs,Z as codePropDefs,f as colorPropDef,$ as containerPropDefs,w as contextMenuCheckboxItemPropDefs,u as contextMenuContentPropDefs,v as contextMenuItemPropDefs,y as contextMenuRadioItemPropDefs,u as contextMenuSubContentPropDefs,ro as dataListItemPropDefs,eo as dataListLabelPropDefs,oo as dataListRootPropDefs,D as dialogContentPropDefs,w as dropdownMenuCheckboxItemPropDefs,s as dropdownMenuContentPropDefs,v as dropdownMenuItemPropDefs,y as dropdownMenuRadioItemPropDefs,u as dropdownMenuSubContentPropDefs,fo as emPropDefs,F as emphases,G as emphasisPropDef,k as flexPropDefs,j as gapPropDefs,e as grayColors,W as gridPropDefs,M as headingPropDefs,d as heightPropDefs,mo as hoverCardContentPropDefs,x as iconButtonPropDefs,po as imagePropDefs,xo as insetPropDefs,z as kbdPropDefs,h as layoutPropDefs,H as leadingTrimPropDef,ao as linkPropDefs,i as marginPropDefs,c as paddingPropDefs,_ as popoverContentPropDefs,bo as progressPropDefs,co as quotePropDefs,p as radii,go as radioCardsRootPropDefs,ho as radioGroupRootPropDefs,A as radioPropDefs,t as radiusPropDef,V as scrollAreaPropDefs,jo as sectionPropDefs,io as segmentedControlRootPropDefs,no as selectContentPropDefs,ko as selectRootPropDefs,lo as selectTriggerPropDefs,qo as separatorPropDefs,Go as shadowPropDefs,to as skeletonPropDefs,so as sliderPropDefs,l as spinnerPropDefs,uo as strongPropDefs,q as submenuBehaviors,vo as switchPropDefs,wo as tabNavLinkPropDefs,B as tabNavRootPropDefs,Ao as tableCellPropDefs,yo as tableRootPropDefs,zo as tableRowPropDefs,Co as tabsContentPropDefs,B as tabsListPropDefs,Bo as tabsRootPropDefs,I as textAlignPropDef,Do as textAreaPropDefs,Eo as textFieldRootPropDefs,Fo as textFieldSlotPropDefs,N as textPropDefs,J as textWrapPropDef,C as themePropDefs,Q as tooltipPropDefs,K as truncatePropDef,L as weightPropDef,g as widthPropDefs};
2
2
  //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@womp/kookie-ui",
3
- "version": "0.9.1",
3
+ "version": "0.10.0",
4
4
  "description": "Kookie UI v1: a React component library with design tokens, flexible theming, a full layout shell, and comprehensive documentation.",
5
5
  "keywords": [
6
6
  "react",
@@ -40,7 +40,10 @@ import {
40
40
  type MessageScrollerVisibilityState,
41
41
  } from '@shadcn/react/message-scroller';
42
42
 
43
+ import { useComposedRefs } from 'radix-ui/internal';
44
+
43
45
  import { IconButton, type IconButtonProps } from './icon-button.js';
46
+ import { useScrollEdges } from '../hooks/use-scroll-edges.js';
44
47
 
45
48
  interface RootProps extends React.ComponentPropsWithoutRef<'div'> {
46
49
  /**
@@ -78,14 +81,30 @@ interface ViewportProps extends React.ComponentPropsWithoutRef<'div'> {
78
81
  'aria-label'?: string;
79
82
  /** Keep the reader's place when older messages are added above. Default `true`. */
80
83
  preserveScrollOnPrepend?: boolean;
84
+ /**
85
+ * Fades messages toward the top and bottom edges while there is more past them. A floating
86
+ * band over an edge (a toolbar, a goal tray, a composer) can set `--scroll-fade-start` or
87
+ * `--scroll-fade-end` to its height, so messages fade as they pass under it. Default `true`.
88
+ */
89
+ fade?: boolean;
81
90
  }
82
91
 
83
92
  /** The scrolling element. */
84
- const Viewport = React.forwardRef<HTMLDivElement, ViewportProps>(({ className, 'aria-label': label, ...props }, forwardedRef) => (
85
- // The primitive names an unnamed viewport "Messages", in English. An empty name is skipped by
86
- // accessible-name computation, so a transcript is only named when the app names it.
87
- <Primitive.Viewport aria-label={label ?? ''} {...props} ref={forwardedRef} className={classNames('rt-MessageScrollerViewport', className)} />
88
- ));
93
+ const Viewport = React.forwardRef<HTMLDivElement, ViewportProps>(({ className, 'aria-label': label, fade = true, ...props }, forwardedRef) => {
94
+ const setEdgesElement = useScrollEdges<HTMLDivElement>(fade);
95
+ const ref = useComposedRefs(forwardedRef, setEdgesElement);
96
+ return (
97
+ // The primitive names an unnamed viewport "Messages", in English. An empty name is skipped by
98
+ // accessible-name computation, so a transcript is only named when the app names it.
99
+ <Primitive.Viewport
100
+ aria-label={label ?? ''}
101
+ {...props}
102
+ ref={ref}
103
+ data-fade={fade ? '' : undefined}
104
+ className={classNames('rt-MessageScrollerViewport', className)}
105
+ />
106
+ );
107
+ });
89
108
  Viewport.displayName = 'MessageScroller.Viewport';
90
109
 
91
110
  type ContentProps = React.ComponentPropsWithoutRef<'div'>;
@@ -144,3 +144,47 @@
144
144
  }
145
145
  }
146
146
  }
147
+
148
+ /***************************************************************************************************
149
+ * *
150
+ * SCROLL FADE *
151
+ * *
152
+ ***************************************************************************************************/
153
+
154
+ /*
155
+ * Content dissolves toward an edge that has more past it. A mask, not a painted gradient: a paint
156
+ * has to fade toward a colour, and the right colour differs on every surface, while a mask fades
157
+ * the content itself and lets whatever is behind show through.
158
+ *
159
+ * `--scroll-overflow-start/-end` are how far content is hidden past each edge, written by
160
+ * Kookie's scroll-edges hook. `min()` against the fade length is the whole behaviour: an edge
161
+ * with nothing past it fades over 0px, and the fade ramps in over the first pixels of scrolling.
162
+ * A floating band over an edge sets `--scroll-fade-start` or `--scroll-fade-end` to its height.
163
+ *
164
+ * Shared by ScrollArea (on its viewport) and MessageScroller (on its viewport). Scrollbars are
165
+ * siblings of the viewport, outside the mask, so the thumb stays crisp.
166
+ */
167
+ :where(.rt-ScrollAreaRoot[data-fade]) > .rt-ScrollAreaViewport,
168
+ .rt-MessageScrollerViewport:where([data-fade]) {
169
+ mask-image: linear-gradient(
170
+ to bottom,
171
+ transparent 0%,
172
+ black min(var(--scroll-overflow-start, 0px), var(--scroll-fade-start, var(--scroll-fade-size))),
173
+ black calc(100% - min(var(--scroll-overflow-end, 0px), var(--scroll-fade-end, var(--scroll-fade-size)))),
174
+ transparent 100%
175
+ );
176
+ }
177
+
178
+ :root,
179
+ .radix-themes {
180
+ --scroll-fade-size: var(--space-6);
181
+ }
182
+
183
+ /*
184
+ * A band is above the scroller it floats over and above nothing else. The reach hooks inherit,
185
+ * so a scroller nested inside another takes the designed length, not its ancestor's band.
186
+ */
187
+ :where(.rt-ScrollAreaViewport, .rt-MessageScrollerViewport) :where(.rt-ScrollAreaRoot, .rt-MessageScrollerViewport) {
188
+ --scroll-fade-start: initial;
189
+ --scroll-fade-end: initial;
190
+ }
@@ -11,9 +11,17 @@ const scrollAreaPropDefs = {
11
11
  size: { type: 'enum', className: 'rt-r-size', values: sizes, default: '1', responsive: true },
12
12
  ...radiusPropDef,
13
13
  scrollbars: { type: 'enum', values: scrollbarsValues, default: 'both' },
14
+ /**
15
+ * Fades the content toward the top and bottom edges while there is more content past them.
16
+ * An edge with nothing hidden past it does not fade. A floating band over an edge can set
17
+ * `--scroll-fade-start` or `--scroll-fade-end` to its height, so content fades as it passes
18
+ * under the band.
19
+ */
20
+ fade: { type: 'boolean', default: false },
14
21
  } satisfies {
15
22
  size: PropDef<(typeof sizes)[number]>;
16
23
  scrollbars: PropDef<(typeof scrollbarsValues)[number]>;
24
+ fade: PropDef<boolean>;
17
25
  };
18
26
 
19
27
  export { scrollAreaPropDefs };
@@ -1,8 +1,10 @@
1
1
  import * as React from 'react';
2
2
  import classNames from 'classnames';
3
3
  import { ScrollArea as ScrollAreaPrimitive } from 'radix-ui';
4
+ import { useComposedRefs } from 'radix-ui/internal';
4
5
 
5
6
  import { scrollAreaPropDefs } from './scroll-area.props.js';
7
+ import { useScrollEdges } from '../hooks/use-scroll-edges.js';
6
8
  import { extractMarginProps } from '../helpers/extract-margin-props.js';
7
9
  import { getMarginStyles } from '../helpers/get-margin-styles.js';
8
10
  import { getResponsiveClassNames } from '../helpers/get-responsive-styles.js';
@@ -35,14 +37,18 @@ const ScrollArea = React.forwardRef<ScrollAreaElement, ScrollAreaProps>((props,
35
37
  size = scrollAreaPropDefs.size.default,
36
38
  radius = scrollAreaPropDefs.radius.default,
37
39
  scrollbars = scrollAreaPropDefs.scrollbars.default,
40
+ fade = scrollAreaPropDefs.fade.default,
38
41
  ...viewportProps
39
42
  } = marginRest;
43
+ const setEdgesElement = useScrollEdges<HTMLDivElement>(fade);
44
+ const viewportRef = useComposedRefs(forwardedRef, setEdgesElement);
40
45
 
41
46
  return (
42
47
  <ScrollAreaPrimitive.Root
43
48
  type={type}
44
49
  scrollHideDelay={scrollHideDelay}
45
50
  className={classNames('rt-ScrollAreaRoot', marginClassNames, className)}
51
+ data-fade={fade ? '' : undefined}
46
52
  style={mergeStyles(marginCustomProperties, style)}
47
53
  asChild={asChild}
48
54
  >
@@ -50,7 +56,7 @@ const ScrollArea = React.forwardRef<ScrollAreaElement, ScrollAreaProps>((props,
50
56
  <>
51
57
  <ScrollAreaPrimitive.Viewport
52
58
  {...viewportProps}
53
- ref={forwardedRef}
59
+ ref={viewportRef}
54
60
  className="rt-ScrollAreaViewport"
55
61
  >
56
62
  {children}
@@ -0,0 +1,46 @@
1
+ import * as React from 'react';
2
+
3
+ /**
4
+ * Publishes how much content is hidden past each block edge of a scroller, as
5
+ * `--scroll-overflow-start` and `--scroll-overflow-end` (px) on the element.
6
+ * The scroll fade reads them, so an edge fades only while content is hidden
7
+ * there, and the fade ramps in over the first pixels of scrolling.
8
+ *
9
+ * Writes happen at most once per frame, on scroll and when the element or its
10
+ * content resizes. Nothing re-renders.
11
+ */
12
+ export function useScrollEdges<T extends HTMLElement>(enabled: boolean) {
13
+ const [element, setElement] = React.useState<T | null>(null);
14
+
15
+ React.useEffect(() => {
16
+ if (!enabled || !element) return;
17
+ let frame = 0;
18
+ const write = () => {
19
+ frame = 0;
20
+ const start = Math.max(0, element.scrollTop);
21
+ const end = Math.max(0, element.scrollHeight - element.clientHeight - element.scrollTop);
22
+ element.style.setProperty('--scroll-overflow-start', `${start}px`);
23
+ element.style.setProperty('--scroll-overflow-end', `${end}px`);
24
+ };
25
+ const schedule = () => {
26
+ if (!frame) frame = requestAnimationFrame(write);
27
+ };
28
+ write();
29
+ element.addEventListener('scroll', schedule, { passive: true });
30
+ const observer = typeof ResizeObserver === 'undefined' ? null : new ResizeObserver(schedule);
31
+ observer?.observe(element);
32
+ for (const child of Array.from(element.children)) observer?.observe(child);
33
+ const mutations = typeof MutationObserver === 'undefined' ? null : new MutationObserver(schedule);
34
+ mutations?.observe(element, { childList: true });
35
+ return () => {
36
+ if (frame) cancelAnimationFrame(frame);
37
+ element.removeEventListener('scroll', schedule);
38
+ observer?.disconnect();
39
+ mutations?.disconnect();
40
+ element.style.removeProperty('--scroll-overflow-start');
41
+ element.style.removeProperty('--scroll-overflow-end');
42
+ };
43
+ }, [enabled, element]);
44
+
45
+ return setElement;
46
+ }
package/styles.css CHANGED
@@ -18981,6 +18981,19 @@
18981
18981
  background-color: var(--gray-a8);
18982
18982
  }
18983
18983
  }
18984
+ :where(.rt-ScrollAreaRoot[data-fade]) > .rt-ScrollAreaViewport,
18985
+ .rt-MessageScrollerViewport:where([data-fade]) {
18986
+ -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black min(var(--scroll-overflow-start, 0px), var(--scroll-fade-start, var(--scroll-fade-size))), black calc(100% - min(var(--scroll-overflow-end, 0px), var(--scroll-fade-end, var(--scroll-fade-size)))), transparent 100%);
18987
+ mask-image: linear-gradient(to bottom, transparent 0%, black min(var(--scroll-overflow-start, 0px), var(--scroll-fade-start, var(--scroll-fade-size))), black calc(100% - min(var(--scroll-overflow-end, 0px), var(--scroll-fade-end, var(--scroll-fade-size)))), transparent 100%);
18988
+ }
18989
+ :root,
18990
+ .radix-themes {
18991
+ --scroll-fade-size: var(--space-6);
18992
+ }
18993
+ :where(.rt-ScrollAreaViewport, .rt-MessageScrollerViewport) :where(.rt-ScrollAreaRoot, .rt-MessageScrollerViewport) {
18994
+ --scroll-fade-start: initial;
18995
+ --scroll-fade-end: initial;
18996
+ }
18984
18997
  .rt-SegmentedControlRoot:where(:has([data-icon-only])) {
18985
18998
  grid-auto-columns: minmax(var(--segmented-control-height), 1fr);
18986
18999
  }
@@ -1,2 +0,0 @@
1
- import{b as e}from"./chunk-KRJTW535.js";import{a as s}from"./chunk-NZJGC6ZW.js";var r=["1","2","3"],o=["vertical","horizontal","both"],l={...s,size:{type:"enum",className:"rt-r-size",values:r,default:"1",responsive:!0},...e,scrollbars:{type:"enum",values:o,default:"both"}};export{l as a};
2
- //# sourceMappingURL=chunk-5KICSAT7.js.map
@@ -1,2 +0,0 @@
1
- import{a as S}from"./chunk-5GXFBLBJ.js";import{a as f}from"./chunk-UBOOUDS4.js";import{a as o}from"./chunk-5KICSAT7.js";import{a as n}from"./chunk-PS6NEG5A.js";import{a as c}from"./chunk-E23RKOQJ.js";import{b as a}from"./chunk-JUY7CBSL.js";import*as r from"react";import t from"classnames";import{ScrollArea as e}from"radix-ui";var C=r.forwardRef((P,u)=>{let{rest:A,...d}=S(P),[y,v]=f(d),{asChild:s,children:N,className:R,style:b,type:i,scrollHideDelay:g=i!=="scroll"?0:void 0,dir:z,size:p=o.size.default,radius:m=o.radius.default,scrollbars:l=o.scrollbars.default,...h}=A;return r.createElement(e.Root,{type:i,scrollHideDelay:g,className:t("rt-ScrollAreaRoot",y,R),style:c(v,b),asChild:s},n({asChild:s,children:N},w=>r.createElement(r.Fragment,null,r.createElement(e.Viewport,{...h,ref:u,className:"rt-ScrollAreaViewport"},w),r.createElement("div",{className:"rt-ScrollAreaViewportFocusRing"}),l!=="vertical"?r.createElement(e.Scrollbar,{"data-radius":m,orientation:"horizontal",className:t("rt-ScrollAreaScrollbar",a({className:"rt-r-size",value:p,propValues:o.size.values}))},r.createElement(e.Thumb,{className:"rt-ScrollAreaThumb"})):null,l!=="horizontal"?r.createElement(e.Scrollbar,{"data-radius":m,orientation:"vertical",className:t("rt-ScrollAreaScrollbar",a({className:"rt-r-size",value:p,propValues:o.size.values}))},r.createElement(e.Thumb,{className:"rt-ScrollAreaThumb"})):null,l==="both"?r.createElement(e.Corner,{className:"rt-ScrollAreaCorner"}):null)))});C.displayName="ScrollArea";export{C as a};
2
- //# sourceMappingURL=chunk-CTA5ODAO.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/components/scroll-area.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\nimport { ScrollArea as ScrollAreaPrimitive } from 'radix-ui';\n\nimport { scrollAreaPropDefs } from './scroll-area.props.js';\nimport { extractMarginProps } from '../helpers/extract-margin-props.js';\nimport { getMarginStyles } from '../helpers/get-margin-styles.js';\nimport { getResponsiveClassNames } from '../helpers/get-responsive-styles.js';\nimport { getSubtree } from '../helpers/get-subtree.js';\nimport { mergeStyles } from '../helpers/merge-styles.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { MarginProps } from '../props/margin.props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\ntype ScrollAreaElement = React.ElementRef<typeof ScrollAreaPrimitive.Viewport>;\ntype ScrollAreaOwnProps = GetPropDefTypes<typeof scrollAreaPropDefs>;\ninterface ScrollAreaProps\n extends ComponentPropsWithout<typeof ScrollAreaPrimitive.Root, RemovedProps>,\n ComponentPropsWithout<typeof ScrollAreaPrimitive.Viewport, RemovedProps | 'dir'>,\n MarginProps,\n ScrollAreaOwnProps {}\nconst ScrollArea = React.forwardRef<ScrollAreaElement, ScrollAreaProps>((props, forwardedRef) => {\n const { rest: marginRest, ...marginProps } = extractMarginProps(props);\n const [marginClassNames, marginCustomProperties] = getMarginStyles(marginProps);\n\n const {\n asChild,\n children,\n className,\n style,\n type,\n scrollHideDelay = type !== 'scroll' ? 0 : undefined,\n dir,\n size = scrollAreaPropDefs.size.default,\n radius = scrollAreaPropDefs.radius.default,\n scrollbars = scrollAreaPropDefs.scrollbars.default,\n ...viewportProps\n } = marginRest;\n\n return (\n <ScrollAreaPrimitive.Root\n type={type}\n scrollHideDelay={scrollHideDelay}\n className={classNames('rt-ScrollAreaRoot', marginClassNames, className)}\n style={mergeStyles(marginCustomProperties, style)}\n asChild={asChild}\n >\n {getSubtree({ asChild, children }, (children) => (\n <>\n <ScrollAreaPrimitive.Viewport\n {...viewportProps}\n ref={forwardedRef}\n className=\"rt-ScrollAreaViewport\"\n >\n {children}\n </ScrollAreaPrimitive.Viewport>\n\n <div className=\"rt-ScrollAreaViewportFocusRing\" />\n\n {scrollbars !== 'vertical' ? (\n <ScrollAreaPrimitive.Scrollbar\n data-radius={radius}\n orientation=\"horizontal\"\n className={classNames(\n 'rt-ScrollAreaScrollbar',\n getResponsiveClassNames({\n className: 'rt-r-size',\n value: size,\n propValues: scrollAreaPropDefs.size.values,\n }),\n )}\n >\n <ScrollAreaPrimitive.Thumb className=\"rt-ScrollAreaThumb\" />\n </ScrollAreaPrimitive.Scrollbar>\n ) : null}\n\n {scrollbars !== 'horizontal' ? (\n <ScrollAreaPrimitive.Scrollbar\n data-radius={radius}\n orientation=\"vertical\"\n className={classNames(\n 'rt-ScrollAreaScrollbar',\n getResponsiveClassNames({\n className: 'rt-r-size',\n value: size,\n propValues: scrollAreaPropDefs.size.values,\n }),\n )}\n >\n <ScrollAreaPrimitive.Thumb className=\"rt-ScrollAreaThumb\" />\n </ScrollAreaPrimitive.Scrollbar>\n ) : null}\n\n {scrollbars === 'both' ? (\n <ScrollAreaPrimitive.Corner className=\"rt-ScrollAreaCorner\" />\n ) : null}\n </>\n ))}\n </ScrollAreaPrimitive.Root>\n );\n});\nScrollArea.displayName = 'ScrollArea';\n\nexport { ScrollArea };\nexport type { ScrollAreaProps };\n"],
5
- "mappings": "gPAAA,UAAYA,MAAW,QACvB,OAAOC,MAAgB,aACvB,OAAS,cAAcC,MAA2B,WAoBlD,IAAMC,EAAmB,aAA+C,CAACC,EAAOC,IAAiB,CAC/F,GAAM,CAAE,KAAMC,EAAY,GAAGC,CAAY,EAAIC,EAAmBJ,CAAK,EAC/D,CAACK,EAAkBC,CAAsB,EAAIC,EAAgBJ,CAAW,EAExE,CACJ,QAAAK,EACA,SAAAC,EACA,UAAAC,EACA,MAAAC,EACA,KAAAC,EACA,gBAAAC,EAAkBD,IAAS,SAAW,EAAI,OAC1C,IAAAE,EACA,KAAAC,EAAOC,EAAmB,KAAK,QAC/B,OAAAC,EAASD,EAAmB,OAAO,QACnC,WAAAE,EAAaF,EAAmB,WAAW,QAC3C,GAAGG,CACL,EAAIjB,EAEJ,OACE,gBAACkB,EAAoB,KAApB,CACC,KAAMR,EACN,gBAAiBC,EACjB,UAAWQ,EAAW,oBAAqBhB,EAAkBK,CAAS,EACtE,MAAOY,EAAYhB,EAAwBK,CAAK,EAChD,QAASH,GAERe,EAAW,CAAE,QAAAf,EAAS,SAAAC,CAAS,EAAIA,GAClC,gCACE,gBAACW,EAAoB,SAApB,CACE,GAAGD,EACJ,IAAKlB,EACL,UAAU,yBAETQ,CACH,EAEA,gBAAC,OAAI,UAAU,iCAAiC,EAE/CS,IAAe,WACd,gBAACE,EAAoB,UAApB,CACC,cAAaH,EACb,YAAY,aACZ,UAAWI,EACT,yBACAG,EAAwB,CACtB,UAAW,YACX,MAAOT,EACP,WAAYC,EAAmB,KAAK,MACtC,CAAC,CACH,GAEA,gBAACI,EAAoB,MAApB,CAA0B,UAAU,qBAAqB,CAC5D,EACE,KAEHF,IAAe,aACd,gBAACE,EAAoB,UAApB,CACC,cAAaH,EACb,YAAY,WACZ,UAAWI,EACT,yBACAG,EAAwB,CACtB,UAAW,YACX,MAAOT,EACP,WAAYC,EAAmB,KAAK,MACtC,CAAC,CACH,GAEA,gBAACI,EAAoB,MAApB,CAA0B,UAAU,qBAAqB,CAC5D,EACE,KAEHF,IAAe,OACd,gBAACE,EAAoB,OAApB,CAA2B,UAAU,sBAAsB,EAC1D,IACN,CACD,CACH,CAEJ,CAAC,EACDrB,EAAW,YAAc",
6
- "names": ["React", "classNames", "ScrollAreaPrimitive", "ScrollArea", "props", "forwardedRef", "marginRest", "marginProps", "extractMarginProps", "marginClassNames", "marginCustomProperties", "getMarginStyles", "asChild", "children", "className", "style", "type", "scrollHideDelay", "dir", "size", "scrollAreaPropDefs", "radius", "scrollbars", "viewportProps", "ScrollAreaPrimitive", "classNames", "mergeStyles", "getSubtree", "getResponsiveClassNames"]
7
- }
@@ -1,2 +0,0 @@
1
- import{a as m}from"./chunk-4XGGX2V2.js";import{a as b}from"./chunk-OS3FCYZY.js";var B={};b(B,{Button:()=>g,Content:()=>d,Item:()=>f,Root:()=>S,Viewport:()=>u,useMessageScroller:()=>v,useMessageScrollerScrollable:()=>y,useMessageScrollerVisibility:()=>w});import*as e from"react";import a from"classnames";import{MessageScroller as l,useMessageScroller as v,useMessageScrollerScrollable as y,useMessageScrollerVisibility as w}from"@shadcn/react/message-scroller";var S=e.forwardRef(({autoScroll:o=!0,defaultScrollPosition:r="end",scrollEdgeThreshold:t,scrollMargin:s,className:i,children:n,...c},p)=>e.createElement(l.Provider,{autoScroll:o,defaultScrollPosition:r,...t!=null?{scrollEdgeThreshold:t}:{},...s!=null?{scrollMargin:s}:{}},e.createElement(l.Root,{...c,ref:p,className:a("rt-MessageScrollerRoot",i)},n)));S.displayName="MessageScroller.Root";var u=e.forwardRef(({className:o,"aria-label":r,...t},s)=>e.createElement(l.Viewport,{"aria-label":r??"",...t,ref:s,className:a("rt-MessageScrollerViewport",o)}));u.displayName="MessageScroller.Viewport";var d=e.forwardRef(({className:o,...r},t)=>e.createElement(l.Content,{...r,ref:t,className:a("rt-MessageScrollerContent",o)}));d.displayName="MessageScroller.Content";var f=e.forwardRef(({className:o,...r},t)=>e.createElement(l.Item,{...r,ref:t,className:a("rt-MessageScrollerItem",o)}));f.displayName="MessageScroller.Item";var g=e.forwardRef(({direction:o="end",behavior:r,className:t,children:s,size:i="2",variant:n="surface",color:c="gray",radius:p="full","aria-label":P,...M},R)=>e.createElement(l.Button,{direction:o,...r?{behavior:r}:{},render:e.createElement(m,{...M,ref:R,size:i,variant:n,color:c,radius:p,"aria-label":P??(o==="end"?"Jump to the latest":"Jump to the first"),className:a("rt-MessageScrollerButton",t),"data-direction":o},s??e.createElement("svg",{width:"15",height:"15",viewBox:"0 0 15 15",fill:"none","aria-hidden":!0,style:o==="start"?{transform:"rotate(180deg)"}:void 0},e.createElement("path",{d:"M7.5 2.5v10M3.5 8.5l4 4 4-4",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})))}));g.displayName="MessageScroller.Button";export{v as a,y as b,w as c,S as d,u as e,d as f,f as g,g as h,B as i};
2
- //# sourceMappingURL=chunk-W4WWN3RC.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/components/message-scroller.tsx"],
4
- "sourcesContent": ["'use client';\n\n/**\n * MessageScroller \u2014 a transcript that follows a conversation.\n *\n * The behaviour is shadcn/ui's Message Scroller primitive (`@shadcn/react/message-scroller`,\n * MIT, https://ui.shadcn.com). Streaming, anchoring a new turn, keeping your place when history\n * loads above, and jumping back to the latest are a body of edge cases nobody should rewrite, so\n * Kookie takes the primitive and adds only the surface: the parts, the class names, the button.\n *\n * Anatomy\n * ```tsx\n * <MessageScroller.Root>\n * <MessageScroller.Viewport aria-label=\"Conversation\">\n * <MessageScroller.Content>\n * <MessageScroller.Item messageId=\"u1\" scrollAnchor>\u2026</MessageScroller.Item>\n * <MessageScroller.Item messageId=\"a1\">\u2026</MessageScroller.Item>\n * </MessageScroller.Content>\n * </MessageScroller.Viewport>\n * <MessageScroller.Button aria-label=\"Jump to the latest\" />\n * </MessageScroller.Root>\n * ```\n *\n * The viewport is its own scroller. Kookie's `ScrollArea` is Radix's, and Radix cannot hand its\n * viewport element to another library, so the transcript scrolls natively with a thin scrollbar.\n *\n * Requires React 19, which the primitive needs.\n */\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport {\n MessageScroller as Primitive,\n useMessageScroller,\n useMessageScrollerScrollable,\n useMessageScrollerVisibility,\n type MessageScrollerDefaultScrollPosition,\n type MessageScrollerScrollOptions,\n type MessageScrollerScrollable,\n type MessageScrollerVisibilityState,\n} from '@shadcn/react/message-scroller';\n\nimport { IconButton, type IconButtonProps } from './icon-button.js';\n\ninterface RootProps extends React.ComponentPropsWithoutRef<'div'> {\n /**\n * Keeps the newest content in view while the reader is at the end. Default `true`.\n * Once the reader scrolls up, the transcript stays where they are until they return.\n */\n autoScroll?: boolean;\n /** Where the transcript opens: `end` (default), `start`, or the last anchored message. */\n defaultScrollPosition?: MessageScrollerDefaultScrollPosition;\n /** Distance in pixels from the end that still counts as \"at the end\". */\n scrollEdgeThreshold?: number;\n /** Space in pixels kept above a message when one is scrolled to or anchored. */\n scrollMargin?: number;\n}\n\n/** Holds the scroll state. Everything else goes inside it. */\nconst Root = React.forwardRef<HTMLDivElement, RootProps>(\n ({ autoScroll = true, defaultScrollPosition = 'end', scrollEdgeThreshold, scrollMargin, className, children, ...props }, forwardedRef) => (\n <Primitive.Provider\n autoScroll={autoScroll}\n defaultScrollPosition={defaultScrollPosition}\n {...(scrollEdgeThreshold != null ? { scrollEdgeThreshold } : {})}\n {...(scrollMargin != null ? { scrollMargin } : {})}\n >\n <Primitive.Root {...props} ref={forwardedRef} className={classNames('rt-MessageScrollerRoot', className)}>\n {children}\n </Primitive.Root>\n </Primitive.Provider>\n ),\n);\nRoot.displayName = 'MessageScroller.Root';\n\ninterface ViewportProps extends React.ComponentPropsWithoutRef<'div'> {\n /** Name of the transcript region, e.g. \"Conversation\". */\n 'aria-label'?: string;\n /** Keep the reader's place when older messages are added above. Default `true`. */\n preserveScrollOnPrepend?: boolean;\n}\n\n/** The scrolling element. */\nconst Viewport = React.forwardRef<HTMLDivElement, ViewportProps>(({ className, 'aria-label': label, ...props }, forwardedRef) => (\n // The primitive names an unnamed viewport \"Messages\", in English. An empty name is skipped by\n // accessible-name computation, so a transcript is only named when the app names it.\n <Primitive.Viewport aria-label={label ?? ''} {...props} ref={forwardedRef} className={classNames('rt-MessageScrollerViewport', className)} />\n));\nViewport.displayName = 'MessageScroller.Viewport';\n\ntype ContentProps = React.ComponentPropsWithoutRef<'div'>;\n\n/** The list of messages, inside the viewport. */\nconst Content = React.forwardRef<HTMLDivElement, ContentProps>(({ className, ...props }, forwardedRef) => (\n <Primitive.Content {...props} ref={forwardedRef} className={classNames('rt-MessageScrollerContent', className)} />\n));\nContent.displayName = 'MessageScroller.Content';\n\ninterface ItemProps extends React.ComponentPropsWithoutRef<'div'> {\n /** A stable id, so the row can be scrolled to with `useMessageScroller().scrollToMessage`. */\n messageId?: string;\n /** Anchor this row near the top when it arrives. Set it on the person's own messages. */\n scrollAnchor?: boolean;\n}\n\n/** One row of the transcript. */\nconst Item = React.forwardRef<HTMLDivElement, ItemProps>(({ className, ...props }, forwardedRef) => (\n <Primitive.Item {...props} ref={forwardedRef} className={classNames('rt-MessageScrollerItem', className)} />\n));\nItem.displayName = 'MessageScroller.Item';\n\ntype ButtonProps = Omit<IconButtonProps, 'aria-label' | 'aria-labelledby'> & {\n /** Accessible name, in your words. Default \"Jump to the latest\". */\n 'aria-label'?: string;\n /** `end` jumps to the latest message (default); `start` to the first. */\n direction?: 'start' | 'end';\n /** Scroll behaviour of the jump. Default `smooth`. */\n behavior?: ScrollBehavior;\n};\n\n/**\n * Jumps back to the latest message. It renders only while the reader is away from the end.\n * Place it inside `Root`, after the viewport. It sits over the viewport's bottom edge.\n */\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ direction = 'end', behavior, className, children, size = '2', variant = 'surface', color = 'gray', radius = 'full', 'aria-label': label, ...props }, forwardedRef) => (\n <Primitive.Button\n direction={direction}\n {...(behavior ? { behavior } : {})}\n render={\n <IconButton\n {...props}\n ref={forwardedRef}\n size={size}\n variant={variant}\n color={color}\n radius={radius}\n aria-label={label ?? (direction === 'end' ? 'Jump to the latest' : 'Jump to the first')}\n className={classNames('rt-MessageScrollerButton', className)}\n data-direction={direction}\n >\n {children ?? (\n <svg width=\"15\" height=\"15\" viewBox=\"0 0 15 15\" fill=\"none\" aria-hidden style={direction === 'start' ? { transform: 'rotate(180deg)' } : undefined}>\n <path d=\"M7.5 2.5v10M3.5 8.5l4 4 4-4\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n )}\n </IconButton>\n }\n />\n ),\n);\nButton.displayName = 'MessageScroller.Button';\n\nexport { Root, Viewport, Content, Item, Button, useMessageScroller, useMessageScrollerScrollable, useMessageScrollerVisibility };\nexport type {\n RootProps as MessageScrollerRootProps,\n ViewportProps as MessageScrollerViewportProps,\n ContentProps as MessageScrollerContentProps,\n ItemProps as MessageScrollerItemProps,\n ButtonProps as MessageScrollerButtonProps,\n MessageScrollerDefaultScrollPosition,\n MessageScrollerScrollOptions,\n MessageScrollerScrollable,\n MessageScrollerVisibilityState,\n};\n"],
5
- "mappings": "gFAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,YAAAE,EAAA,YAAAC,EAAA,SAAAC,EAAA,SAAAC,EAAA,aAAAC,EAAA,uBAAAC,EAAA,iCAAAC,EAAA,iCAAAC,IA6BA,UAAYC,MAAW,QACvB,OAAOC,MAAgB,aACvB,OACE,mBAAmBC,EACnB,sBAAAL,EACA,gCAAAC,EACA,gCAAAC,MAKK,iCAmBP,IAAMI,EAAa,aACjB,CAAC,CAAE,WAAAC,EAAa,GAAM,sBAAAC,EAAwB,MAAO,oBAAAC,EAAqB,aAAAC,EAAc,UAAAC,EAAW,SAAAC,EAAU,GAAGC,CAAM,EAAGC,IACvH,gBAACC,EAAU,SAAV,CACC,WAAYR,EACZ,sBAAuBC,EACtB,GAAIC,GAAuB,KAAO,CAAE,oBAAAA,CAAoB,EAAI,CAAC,EAC7D,GAAIC,GAAgB,KAAO,CAAE,aAAAA,CAAa,EAAI,CAAC,GAEhD,gBAACK,EAAU,KAAV,CAAgB,GAAGF,EAAO,IAAKC,EAAc,UAAWE,EAAW,yBAA0BL,CAAS,GACpGC,CACH,CACF,CAEJ,EACAN,EAAK,YAAc,uBAUnB,IAAMW,EAAiB,aAA0C,CAAC,CAAE,UAAAN,EAAW,aAAcO,EAAO,GAAGL,CAAM,EAAGC,IAG9G,gBAACC,EAAU,SAAV,CAAmB,aAAYG,GAAS,GAAK,GAAGL,EAAO,IAAKC,EAAc,UAAWE,EAAW,6BAA8BL,CAAS,EAAG,CAC5I,EACDM,EAAS,YAAc,2BAKvB,IAAME,EAAgB,aAAyC,CAAC,CAAE,UAAAR,EAAW,GAAGE,CAAM,EAAGC,IACvF,gBAACC,EAAU,QAAV,CAAmB,GAAGF,EAAO,IAAKC,EAAc,UAAWE,EAAW,4BAA6BL,CAAS,EAAG,CACjH,EACDQ,EAAQ,YAAc,0BAUtB,IAAMC,EAAa,aAAsC,CAAC,CAAE,UAAAT,EAAW,GAAGE,CAAM,EAAGC,IACjF,gBAACC,EAAU,KAAV,CAAgB,GAAGF,EAAO,IAAKC,EAAc,UAAWE,EAAW,yBAA0BL,CAAS,EAAG,CAC3G,EACDS,EAAK,YAAc,uBAenB,IAAMC,EAAe,aACnB,CAAC,CAAE,UAAAC,EAAY,MAAO,SAAAC,EAAU,UAAAZ,EAAW,SAAAC,EAAU,KAAAY,EAAO,IAAK,QAAAC,EAAU,UAAW,MAAAC,EAAQ,OAAQ,OAAAC,EAAS,OAAQ,aAAcT,EAAO,GAAGL,CAAM,EAAGC,IACtJ,gBAACC,EAAU,OAAV,CACC,UAAWO,EACV,GAAIC,EAAW,CAAE,SAAAA,CAAS,EAAI,CAAC,EAChC,OACE,gBAACK,EAAA,CACE,GAAGf,EACJ,IAAKC,EACL,KAAMU,EACN,QAASC,EACT,MAAOC,EACP,OAAQC,EACR,aAAYT,IAAUI,IAAc,MAAQ,qBAAuB,qBACnE,UAAWN,EAAW,2BAA4BL,CAAS,EAC3D,iBAAgBW,GAEfV,GACC,gBAAC,OAAI,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,cAAW,GAAC,MAAOU,IAAc,QAAU,CAAE,UAAW,gBAAiB,EAAI,QACvI,gBAAC,QAAK,EAAE,8BAA8B,OAAO,eAAe,YAAY,MAAM,cAAc,QAAQ,eAAe,QAAQ,CAC7H,CAEJ,EAEJ,CAEJ,EACAD,EAAO,YAAc",
6
- "names": ["message_scroller_exports", "__export", "Button", "Content", "Item", "Root", "Viewport", "useMessageScroller", "useMessageScrollerScrollable", "useMessageScrollerVisibility", "React", "classNames", "Primitive", "Root", "autoScroll", "defaultScrollPosition", "scrollEdgeThreshold", "scrollMargin", "className", "children", "props", "forwardedRef", "Primitive", "classNames", "Viewport", "label", "Content", "Item", "Button", "direction", "behavior", "size", "variant", "color", "radius", "IconButton"]
7
- }