@tlglobal/ui 2.0.0 → 2.0.1
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.
- package/README.md +70 -0
- package/dist/AI_CONTEXT.md +1 -1
- package/dist/AI_INVENTORY.md +1 -1
- package/dist/{chunk-L5ASRHVY.js → chunk-2HCSVAI5.js} +2 -2
- package/dist/{chunk-CVXFVAS4.cjs → chunk-2ZWGB3S2.cjs} +42 -29
- package/dist/chunk-2ZWGB3S2.cjs.map +1 -0
- package/dist/{chunk-Y523KUML.js → chunk-3G65Q7C4.js} +5 -2
- package/dist/chunk-3G65Q7C4.js.map +1 -0
- package/dist/{chunk-N7NOXL4I.js → chunk-3TYFCWQ3.js} +29 -24
- package/dist/chunk-3TYFCWQ3.js.map +1 -0
- package/dist/{chunk-43UYUOCI.cjs → chunk-44WYLL4S.cjs} +5 -2
- package/dist/chunk-44WYLL4S.cjs.map +1 -0
- package/dist/{chunk-IRV6TBCD.js → chunk-4NNTKMOB.js} +5 -3
- package/dist/chunk-4NNTKMOB.js.map +1 -0
- package/dist/{chunk-V3NEBNKV.js → chunk-4OS2O7Z4.js} +41 -28
- package/dist/chunk-4OS2O7Z4.js.map +1 -0
- package/dist/{chunk-F5XBFNFL.cjs → chunk-5H6YBTVY.cjs} +12 -10
- package/dist/chunk-5H6YBTVY.cjs.map +1 -0
- package/dist/{chunk-EADT2IDZ.cjs → chunk-5YRHXI5B.cjs} +5 -2
- package/dist/chunk-5YRHXI5B.cjs.map +1 -0
- package/dist/chunk-6HVA6YPU.js +92 -0
- package/dist/chunk-6HVA6YPU.js.map +1 -0
- package/dist/{chunk-CQNMLNRY.js → chunk-6MJNOSPS.js} +14 -11
- package/dist/chunk-6MJNOSPS.js.map +1 -0
- package/dist/{chunk-HJCCG7JW.js → chunk-6PBJ4G23.js} +11 -9
- package/dist/chunk-6PBJ4G23.js.map +1 -0
- package/dist/{chunk-DBCPNZ6H.js → chunk-7PGGVGL6.js} +5 -3
- package/dist/chunk-7PGGVGL6.js.map +1 -0
- package/dist/{chunk-HRO7NGJR.cjs → chunk-A2ZOWFFG.cjs} +27 -21
- package/dist/chunk-A2ZOWFFG.cjs.map +1 -0
- package/dist/{chunk-ENO36WFO.cjs → chunk-ACSNQJA2.cjs} +15 -12
- package/dist/chunk-ACSNQJA2.cjs.map +1 -0
- package/dist/{chunk-ASXOVY3O.js → chunk-AEQRMYFY.js} +6 -2
- package/dist/chunk-AEQRMYFY.js.map +1 -0
- package/dist/{chunk-SKQHJJ6L.js → chunk-AHTKZYY6.js} +5 -3
- package/dist/chunk-AHTKZYY6.js.map +1 -0
- package/dist/{chunk-BG3HP3NJ.cjs → chunk-ASR6S6DB.cjs} +6 -4
- package/dist/chunk-ASR6S6DB.cjs.map +1 -0
- package/dist/{chunk-5TOJI2VT.cjs → chunk-BUXNYXY3.cjs} +5 -2
- package/dist/chunk-BUXNYXY3.cjs.map +1 -0
- package/dist/{chunk-ATQSUWAB.cjs → chunk-C4F5WANA.cjs} +15 -12
- package/dist/chunk-C4F5WANA.cjs.map +1 -0
- package/dist/{chunk-QX75NAXT.js → chunk-COYRHKMS.js} +21 -13
- package/dist/chunk-COYRHKMS.js.map +1 -0
- package/dist/{chunk-KG4EGAMK.js → chunk-DRL2Z5QN.js} +14 -11
- package/dist/chunk-DRL2Z5QN.js.map +1 -0
- package/dist/{chunk-4XLHRXFU.cjs → chunk-DU6MB3UR.cjs} +18 -14
- package/dist/chunk-DU6MB3UR.cjs.map +1 -0
- package/dist/{chunk-VONXCRR4.cjs → chunk-E7VMBMME.cjs} +5 -2
- package/dist/chunk-E7VMBMME.cjs.map +1 -0
- package/dist/chunk-ERR4JYSK.js +37 -0
- package/dist/chunk-ERR4JYSK.js.map +1 -0
- package/dist/{chunk-GJQOXOSX.cjs → chunk-F6AMISYP.cjs} +12 -10
- package/dist/chunk-F6AMISYP.cjs.map +1 -0
- package/dist/{chunk-NCYN3QQU.cjs → chunk-GD6QZD2T.cjs} +22 -14
- package/dist/chunk-GD6QZD2T.cjs.map +1 -0
- package/dist/{chunk-GAIT5TGX.js → chunk-GLOGO66M.js} +2 -2
- package/dist/{chunk-QEVPIMPR.js → chunk-ITPU3GJP.js} +17 -13
- package/dist/chunk-ITPU3GJP.js.map +1 -0
- package/dist/{chunk-7VXLTE5S.cjs → chunk-JFDZ7CML.cjs} +8 -8
- package/dist/{chunk-7VXLTE5S.cjs.map → chunk-JFDZ7CML.cjs.map} +1 -1
- package/dist/{chunk-HWVBYDV7.cjs → chunk-JVNI5OEZ.cjs} +39 -15
- package/dist/chunk-JVNI5OEZ.cjs.map +1 -0
- package/dist/{chunk-3PA53VKD.js → chunk-KLCAYZB2.js} +37 -13
- package/dist/chunk-KLCAYZB2.js.map +1 -0
- package/dist/{chunk-77VS352K.js → chunk-KTKJUALJ.js} +5 -2
- package/dist/chunk-KTKJUALJ.js.map +1 -0
- package/dist/{chunk-H3RKRRVM.js → chunk-L5KEJ5FQ.js} +202 -190
- package/dist/chunk-L5KEJ5FQ.js.map +1 -0
- package/dist/chunk-LDABSX4U.js +9 -0
- package/dist/chunk-LDABSX4U.js.map +1 -0
- package/dist/chunk-LEAPQI7O.cjs +37 -0
- package/dist/chunk-LEAPQI7O.cjs.map +1 -0
- package/dist/{chunk-XGCIOWNR.cjs → chunk-LS6JKLML.cjs} +6 -4
- package/dist/chunk-LS6JKLML.cjs.map +1 -0
- package/dist/{chunk-GJGPQRIK.js → chunk-NKZBBAJ5.js} +2 -2
- package/dist/{chunk-QT6A3IGJ.js → chunk-ODXGLPJL.js} +11 -8
- package/dist/chunk-ODXGLPJL.js.map +1 -0
- package/dist/{chunk-2GWZWHLI.cjs → chunk-OFJMBPJN.cjs} +3 -3
- package/dist/{chunk-2GWZWHLI.cjs.map → chunk-OFJMBPJN.cjs.map} +1 -1
- package/dist/{chunk-3FJ2AYA2.js → chunk-OKUW3EEZ.js} +26 -20
- package/dist/chunk-OKUW3EEZ.js.map +1 -0
- package/dist/{chunk-ZWS4E67U.cjs → chunk-PSNYF5AW.cjs} +3 -3
- package/dist/{chunk-ZWS4E67U.cjs.map → chunk-PSNYF5AW.cjs.map} +1 -1
- package/dist/{chunk-QET47X4U.cjs → chunk-PXVC4OBB.cjs} +12 -9
- package/dist/chunk-PXVC4OBB.cjs.map +1 -0
- package/dist/{chunk-T4FTROIQ.cjs → chunk-PZN4WYN7.cjs} +20 -23
- package/dist/chunk-PZN4WYN7.cjs.map +1 -0
- package/dist/chunk-Q2JCE4CK.cjs +9 -0
- package/dist/chunk-Q2JCE4CK.cjs.map +1 -0
- package/dist/{chunk-XWMDE3D5.cjs → chunk-RKPN6UFK.cjs} +6 -4
- package/dist/chunk-RKPN6UFK.cjs.map +1 -0
- package/dist/{chunk-LZEQUT4L.cjs → chunk-RX5FOAD2.cjs} +15 -12
- package/dist/chunk-RX5FOAD2.cjs.map +1 -0
- package/dist/{chunk-XMCP5ITG.cjs → chunk-RXX2IGK5.cjs} +3 -3
- package/dist/{chunk-XMCP5ITG.cjs.map → chunk-RXX2IGK5.cjs.map} +1 -1
- package/dist/{chunk-JPABWZU4.js → chunk-S5CNVXZ3.js} +2 -2
- package/dist/{chunk-OZR3RLEW.cjs → chunk-SQAK5ZSK.cjs} +191 -179
- package/dist/chunk-SQAK5ZSK.cjs.map +1 -0
- package/dist/chunk-TAAZXDXC.cjs +92 -0
- package/dist/chunk-TAAZXDXC.cjs.map +1 -0
- package/dist/chunk-TS6NCZG4.cjs +84 -0
- package/dist/chunk-TS6NCZG4.cjs.map +1 -0
- package/dist/{chunk-PNBLW6BD.cjs → chunk-UAQVDWOH.cjs} +6 -2
- package/dist/chunk-UAQVDWOH.cjs.map +1 -0
- package/dist/{chunk-7KV2ASQZ.js → chunk-UC2Y7ECN.js} +5 -2
- package/dist/chunk-UC2Y7ECN.js.map +1 -0
- package/dist/{chunk-NROYDPOG.js → chunk-UCL2G3AW.js} +5 -2
- package/dist/chunk-UCL2G3AW.js.map +1 -0
- package/dist/{chunk-JSVWJPQG.js → chunk-UDYPJDYS.js} +5 -2
- package/dist/chunk-UDYPJDYS.js.map +1 -0
- package/dist/{chunk-HAMZFEZO.cjs → chunk-UMGGVQCD.cjs} +5 -2
- package/dist/chunk-UMGGVQCD.cjs.map +1 -0
- package/dist/{chunk-FSFKN344.js → chunk-VZSNQ6KY.js} +26 -19
- package/dist/chunk-VZSNQ6KY.js.map +1 -0
- package/dist/{chunk-G362MHBO.cjs → chunk-W2IIKFUQ.cjs} +5 -2
- package/dist/chunk-W2IIKFUQ.cjs.map +1 -0
- package/dist/{chunk-C35O5Z4E.js → chunk-WDQGXT4B.js} +11 -9
- package/dist/chunk-WDQGXT4B.js.map +1 -0
- package/dist/{chunk-KIAO4YXV.js → chunk-X2DTRB5I.js} +18 -21
- package/dist/chunk-X2DTRB5I.js.map +1 -0
- package/dist/chunk-XBXIJY6C.js +84 -0
- package/dist/chunk-XBXIJY6C.js.map +1 -0
- package/dist/{chunk-SN6MWJU6.js → chunk-YPW3ZNNH.js} +5 -2
- package/dist/chunk-YPW3ZNNH.js.map +1 -0
- package/dist/{chunk-YEH5VLWU.js → chunk-YY7LSY6F.js} +14 -11
- package/dist/chunk-YY7LSY6F.js.map +1 -0
- package/dist/{chunk-PFK42QIX.cjs → chunk-Z2LS4QUV.cjs} +27 -20
- package/dist/chunk-Z2LS4QUV.cjs.map +1 -0
- package/dist/{chunk-6LNO6LIW.cjs → chunk-ZSPEIPFP.cjs} +30 -25
- package/dist/chunk-ZSPEIPFP.cjs.map +1 -0
- package/dist/components/accordion/Accordion.d.ts +10 -4
- package/dist/components/accordion/index.cjs +2 -2
- package/dist/components/accordion/index.js +1 -1
- package/dist/components/alert-dialog/AlertDialog.d.ts +12 -5
- package/dist/components/alert-dialog/index.cjs +2 -2
- package/dist/components/alert-dialog/index.js +1 -1
- package/dist/components/attachment/Attachment.d.ts +16 -9
- package/dist/components/attachment/index.cjs +2 -2
- package/dist/components/attachment/index.js +1 -1
- package/dist/components/button/index.cjs +3 -2
- package/dist/components/button/index.cjs.map +1 -1
- package/dist/components/button/index.js +2 -1
- package/dist/components/calendar/index.cjs +3 -2
- package/dist/components/calendar/index.cjs.map +1 -1
- package/dist/components/calendar/index.js +2 -1
- package/dist/components/carousel/Carousel.d.ts +6 -6
- package/dist/components/carousel/index.cjs +4 -3
- package/dist/components/carousel/index.cjs.map +1 -1
- package/dist/components/carousel/index.js +3 -2
- package/dist/components/chart/Chart.d.ts +4 -4
- package/dist/components/chart/index.cjs +2 -2
- package/dist/components/chart/index.js +1 -1
- package/dist/components/combobox/index.cjs +3 -3
- package/dist/components/combobox/index.js +2 -2
- package/dist/components/command/Command.d.ts +11 -9
- package/dist/components/command/index.cjs +2 -2
- package/dist/components/command/index.js +1 -1
- package/dist/components/context-menu/ContextMenu.d.ts +33 -10
- package/dist/components/context-menu/index.cjs +2 -2
- package/dist/components/context-menu/index.js +1 -1
- package/dist/components/date-picker/index.cjs +4 -3
- package/dist/components/date-picker/index.cjs.map +1 -1
- package/dist/components/date-picker/index.js +3 -2
- package/dist/components/dialog/Dialog.d.ts +11 -5
- package/dist/components/dialog/index.cjs +2 -2
- package/dist/components/dialog/index.js +1 -1
- package/dist/components/drawer/Drawer.d.ts +11 -5
- package/dist/components/drawer/index.cjs +2 -2
- package/dist/components/drawer/index.js +1 -1
- package/dist/components/dropdown-menu/DropdownMenu.d.ts +33 -10
- package/dist/components/dropdown-menu/index.cjs +2 -2
- package/dist/components/dropdown-menu/index.js +1 -1
- package/dist/components/hover-card/HoverCard.d.ts +4 -2
- package/dist/components/hover-card/index.cjs +2 -2
- package/dist/components/hover-card/index.js +1 -1
- package/dist/components/icon-button/index.cjs +3 -2
- package/dist/components/icon-button/index.cjs.map +1 -1
- package/dist/components/icon-button/index.js +2 -1
- package/dist/components/menubar/Menubar.d.ts +34 -11
- package/dist/components/menubar/index.cjs +2 -2
- package/dist/components/menubar/index.js +1 -1
- package/dist/components/message/Message.d.ts +10 -10
- package/dist/components/message/index.cjs +2 -2
- package/dist/components/message/index.js +1 -1
- package/dist/components/message-scroller/MessageScroller.d.ts +5 -5
- package/dist/components/message-scroller/index.cjs +4 -3
- package/dist/components/message-scroller/index.cjs.map +1 -1
- package/dist/components/message-scroller/index.js +3 -2
- package/dist/components/navigation-menu/NavigationMenu.d.ts +18 -6
- package/dist/components/navigation-menu/index.cjs +2 -2
- package/dist/components/navigation-menu/index.js +1 -1
- package/dist/components/pagination/index.cjs +3 -2
- package/dist/components/pagination/index.cjs.map +1 -1
- package/dist/components/pagination/index.js +2 -1
- package/dist/components/popover/Popover.d.ts +4 -2
- package/dist/components/popover/index.cjs +2 -2
- package/dist/components/popover/index.js +1 -1
- package/dist/components/questionnaire/index.cjs +3 -2
- package/dist/components/questionnaire/index.cjs.map +1 -1
- package/dist/components/questionnaire/index.js +2 -1
- package/dist/components/resizable/Resizable.d.ts +4 -4
- package/dist/components/resizable/index.cjs +2 -2
- package/dist/components/resizable/index.js +1 -1
- package/dist/components/sheet/Sheet.d.ts +13 -7
- package/dist/components/sheet/index.cjs +2 -2
- package/dist/components/sheet/index.js +1 -1
- package/dist/components/sidebar/index.cjs +6 -5
- package/dist/components/sidebar/index.cjs.map +1 -1
- package/dist/components/sidebar/index.js +5 -4
- package/dist/components/slider/index.cjs +3 -2
- package/dist/components/slider/index.cjs.map +1 -1
- package/dist/components/slider/index.js +2 -1
- package/dist/components/tabs/Tabs.d.ts +7 -3
- package/dist/components/tabs/index.cjs +3 -2
- package/dist/components/tabs/index.cjs.map +1 -1
- package/dist/components/tabs/index.js +2 -1
- package/dist/components/toggle/index.cjs +4 -3
- package/dist/components/toggle/index.cjs.map +1 -1
- package/dist/components/toggle/index.js +3 -2
- package/dist/components/toggle-group/index.cjs +4 -3
- package/dist/components/toggle-group/index.cjs.map +1 -1
- package/dist/components/toggle-group/index.js +3 -2
- package/dist/components/tooltip/Tooltip.d.ts +2 -2
- package/dist/components/tooltip/index.cjs +2 -2
- package/dist/components/tooltip/index.js +1 -1
- package/dist/index.cjs +36 -35
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +36 -35
- package/dist/ui-manifest.json +1 -1
- package/package.json +3 -3
- package/dist/chunk-3FJ2AYA2.js.map +0 -1
- package/dist/chunk-3PA53VKD.js.map +0 -1
- package/dist/chunk-3WN2VYVW.js +0 -74
- package/dist/chunk-3WN2VYVW.js.map +0 -1
- package/dist/chunk-43UYUOCI.cjs.map +0 -1
- package/dist/chunk-4XLHRXFU.cjs.map +0 -1
- package/dist/chunk-5TOJI2VT.cjs.map +0 -1
- package/dist/chunk-6LNO6LIW.cjs.map +0 -1
- package/dist/chunk-77VS352K.js.map +0 -1
- package/dist/chunk-7KV2ASQZ.js.map +0 -1
- package/dist/chunk-7USP3KPM.js +0 -74
- package/dist/chunk-7USP3KPM.js.map +0 -1
- package/dist/chunk-ASXOVY3O.js.map +0 -1
- package/dist/chunk-ATQSUWAB.cjs.map +0 -1
- package/dist/chunk-BG3HP3NJ.cjs.map +0 -1
- package/dist/chunk-C35O5Z4E.js.map +0 -1
- package/dist/chunk-C4M7CGEJ.cjs +0 -33
- package/dist/chunk-C4M7CGEJ.cjs.map +0 -1
- package/dist/chunk-CQNMLNRY.js.map +0 -1
- package/dist/chunk-CVXFVAS4.cjs.map +0 -1
- package/dist/chunk-DBCPNZ6H.js.map +0 -1
- package/dist/chunk-EADT2IDZ.cjs.map +0 -1
- package/dist/chunk-ENO36WFO.cjs.map +0 -1
- package/dist/chunk-F5XBFNFL.cjs.map +0 -1
- package/dist/chunk-FSFKN344.js.map +0 -1
- package/dist/chunk-G362MHBO.cjs.map +0 -1
- package/dist/chunk-GJQOXOSX.cjs.map +0 -1
- package/dist/chunk-H3RKRRVM.js.map +0 -1
- package/dist/chunk-HAMZFEZO.cjs.map +0 -1
- package/dist/chunk-HFYNUSDC.cjs +0 -74
- package/dist/chunk-HFYNUSDC.cjs.map +0 -1
- package/dist/chunk-HJCCG7JW.js.map +0 -1
- package/dist/chunk-HRO7NGJR.cjs.map +0 -1
- package/dist/chunk-HWVBYDV7.cjs.map +0 -1
- package/dist/chunk-IQ62AKGY.cjs +0 -74
- package/dist/chunk-IQ62AKGY.cjs.map +0 -1
- package/dist/chunk-IRV6TBCD.js.map +0 -1
- package/dist/chunk-JSVWJPQG.js.map +0 -1
- package/dist/chunk-K5CAZ7C4.js +0 -33
- package/dist/chunk-K5CAZ7C4.js.map +0 -1
- package/dist/chunk-KG4EGAMK.js.map +0 -1
- package/dist/chunk-KIAO4YXV.js.map +0 -1
- package/dist/chunk-LZEQUT4L.cjs.map +0 -1
- package/dist/chunk-N7NOXL4I.js.map +0 -1
- package/dist/chunk-NCYN3QQU.cjs.map +0 -1
- package/dist/chunk-NROYDPOG.js.map +0 -1
- package/dist/chunk-OZR3RLEW.cjs.map +0 -1
- package/dist/chunk-PFK42QIX.cjs.map +0 -1
- package/dist/chunk-PNBLW6BD.cjs.map +0 -1
- package/dist/chunk-QET47X4U.cjs.map +0 -1
- package/dist/chunk-QEVPIMPR.js.map +0 -1
- package/dist/chunk-QT6A3IGJ.js.map +0 -1
- package/dist/chunk-QX75NAXT.js.map +0 -1
- package/dist/chunk-SKQHJJ6L.js.map +0 -1
- package/dist/chunk-SN6MWJU6.js.map +0 -1
- package/dist/chunk-T4FTROIQ.cjs.map +0 -1
- package/dist/chunk-V3NEBNKV.js.map +0 -1
- package/dist/chunk-VONXCRR4.cjs.map +0 -1
- package/dist/chunk-XGCIOWNR.cjs.map +0 -1
- package/dist/chunk-XWMDE3D5.cjs.map +0 -1
- package/dist/chunk-Y523KUML.js.map +0 -1
- package/dist/chunk-YEH5VLWU.js.map +0 -1
- /package/dist/{chunk-L5ASRHVY.js.map → chunk-2HCSVAI5.js.map} +0 -0
- /package/dist/{chunk-GAIT5TGX.js.map → chunk-GLOGO66M.js.map} +0 -0
- /package/dist/{chunk-GJGPQRIK.js.map → chunk-NKZBBAJ5.js.map} +0 -0
- /package/dist/{chunk-JPABWZU4.js.map → chunk-S5CNVXZ3.js.map} +0 -0
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});'use client';
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }'use client';
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
var _chunkNSTYHMFWcjs = require('./chunk-NSTYHMFW.cjs');
|
|
5
5
|
|
|
6
6
|
// src/components/sheet/Sheet.jsx
|
|
7
|
+
var _react = require('react'); var _react2 = _interopRequireDefault(_react);
|
|
7
8
|
var _radixui = require('radix-ui');
|
|
8
9
|
var _icons = require('@tlglobal/icons');
|
|
9
10
|
|
|
@@ -26,10 +27,10 @@ var sheetContentVariants = _classvarianceauthority.cva.call(void 0,
|
|
|
26
27
|
|
|
27
28
|
// src/components/sheet/Sheet.jsx
|
|
28
29
|
var _jsxruntime = require('react/jsx-runtime');
|
|
29
|
-
|
|
30
|
+
var Content = _react2.default.forwardRef(function Content2({ className, side, children, ...props }, ref) {
|
|
30
31
|
return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _radixui.Dialog.Portal, { children: [
|
|
31
32
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _radixui.Dialog.Overlay, { className: "fixed inset-0 z-[100] bg-neutral-900/40" }),
|
|
32
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _radixui.Dialog.Content, { className: _chunkNSTYHMFWcjs.cn.call(void 0, sheetContentVariants({ side }), className), ...props, children: [
|
|
33
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _radixui.Dialog.Content, { ref, className: _chunkNSTYHMFWcjs.cn.call(void 0, sheetContentVariants({ side }), className), ...props, children: [
|
|
33
34
|
children,
|
|
34
35
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
35
36
|
_radixui.Dialog.Close,
|
|
@@ -41,16 +42,23 @@ function Content({ className, side, children, ...props }) {
|
|
|
41
42
|
)
|
|
42
43
|
] })
|
|
43
44
|
] });
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _radixui.Dialog.Title, { className: _chunkNSTYHMFWcjs.cn.call(void 0, "text-lg font-bold text-text-primary", className), ...props });
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
45
|
+
});
|
|
46
|
+
var Title = _react2.default.forwardRef(function Title2({ className, ...props }, ref) {
|
|
47
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _radixui.Dialog.Title, { ref, className: _chunkNSTYHMFWcjs.cn.call(void 0, "text-lg font-bold text-text-primary", className), ...props });
|
|
48
|
+
});
|
|
49
|
+
var Description = _react2.default.forwardRef(function Description2({ className, ...props }, ref) {
|
|
50
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
51
|
+
_radixui.Dialog.Description,
|
|
52
|
+
{
|
|
53
|
+
ref,
|
|
54
|
+
className: _chunkNSTYHMFWcjs.cn.call(void 0, "text-base leading-relaxed text-text-secondary", className),
|
|
55
|
+
...props
|
|
56
|
+
}
|
|
57
|
+
);
|
|
58
|
+
});
|
|
59
|
+
var Footer = _react2.default.forwardRef(function Footer2({ className, ...props }, ref) {
|
|
60
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref, className: _chunkNSTYHMFWcjs.cn.call(void 0, "mt-auto flex justify-end gap-2.5", className), ...props });
|
|
61
|
+
});
|
|
54
62
|
var Sheet = {
|
|
55
63
|
Root: _radixui.Dialog.Root,
|
|
56
64
|
Trigger: _radixui.Dialog.Trigger,
|
|
@@ -64,4 +72,4 @@ var Sheet = {
|
|
|
64
72
|
|
|
65
73
|
|
|
66
74
|
exports.Sheet = Sheet;
|
|
67
|
-
//# sourceMappingURL=chunk-
|
|
75
|
+
//# sourceMappingURL=chunk-GD6QZD2T.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/Atoms/Atoms/packages/ui/dist/chunk-GD6QZD2T.cjs","../src/components/sheet/Sheet.jsx","../src/components/sheet/Sheet.variants.js"],"names":["Content","Title","Description","Footer"],"mappings":"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","file":"/home/runner/work/Atoms/Atoms/packages/ui/dist/chunk-GD6QZD2T.cjs","sourcesContent":[null,"import React from \"react\";\nimport { Dialog as RadixDialog } from \"radix-ui\";\nimport { X } from \"@tlglobal/icons\";\nimport { cn } from \"../../lib/cn.js\";\nimport { sheetContentVariants } from \"./Sheet.variants.js\";\n\nconst Content = React.forwardRef(function Content({ className, side, children, ...props }, ref) {\n return (\n <RadixDialog.Portal>\n <RadixDialog.Overlay className=\"fixed inset-0 z-[100] bg-neutral-900/40\" />\n <RadixDialog.Content ref={ref} className={cn(sheetContentVariants({ side }), className)} {...props}>\n {children}\n <RadixDialog.Close\n aria-label=\"Close\"\n className=\"absolute right-4 top-4 inline-flex h-6 w-6 items-center justify-center rounded-md text-text-muted transition-colors hover:bg-bg-surface hover:text-text-primary focus-visible:outline-none focus-visible:shadow-[var(--shadow-focus-ring)]\"\n >\n <X size={16} />\n </RadixDialog.Close>\n </RadixDialog.Content>\n </RadixDialog.Portal>\n );\n});\n\nconst Title = React.forwardRef(function Title({ className, ...props }, ref) {\n return <RadixDialog.Title ref={ref} className={cn(\"text-lg font-bold text-text-primary\", className)} {...props} />;\n});\n\nconst Description = React.forwardRef(function Description({ className, ...props }, ref) {\n return (\n <RadixDialog.Description\n ref={ref}\n className={cn(\"text-base leading-relaxed text-text-secondary\", className)}\n {...props}\n />\n );\n});\n\nconst Footer = React.forwardRef(function Footer({ className, ...props }, ref) {\n return <div ref={ref} className={cn(\"mt-auto flex justify-end gap-2.5\", className)} {...props} />;\n});\n\nexport const Sheet = {\n Root: RadixDialog.Root,\n Trigger: RadixDialog.Trigger,\n Close: RadixDialog.Close,\n Content,\n Title,\n Description,\n Footer,\n};\n","import { cva } from \"class-variance-authority\";\n\nexport const sheetContentVariants = cva(\n \"fixed z-[100] flex flex-col gap-4 border-border-default bg-bg-page p-6 shadow-md focus:outline-none\",\n {\n variants: {\n side: {\n top: \"inset-x-0 top-0 max-h-[80vh] border-b\",\n bottom: \"inset-x-0 bottom-0 max-h-[80vh] border-t\",\n left: \"inset-y-0 left-0 h-full w-[320px] max-w-[calc(100vw-2rem)] border-r\",\n right: \"inset-y-0 right-0 h-full w-[320px] max-w-[calc(100vw-2rem)] border-l\",\n },\n },\n defaultVariants: { side: \"right\" },\n },\n);\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import {
|
|
3
3
|
Command
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-OKUW3EEZ.js";
|
|
5
5
|
import {
|
|
6
6
|
cn
|
|
7
7
|
} from "./chunk-74GQ35MJ.js";
|
|
@@ -82,4 +82,4 @@ var Combobox = React.forwardRef(function Combobox2({
|
|
|
82
82
|
export {
|
|
83
83
|
Combobox
|
|
84
84
|
};
|
|
85
|
-
//# sourceMappingURL=chunk-
|
|
85
|
+
//# sourceMappingURL=chunk-GLOGO66M.js.map
|
|
@@ -4,25 +4,27 @@ import {
|
|
|
4
4
|
} from "./chunk-74GQ35MJ.js";
|
|
5
5
|
|
|
6
6
|
// src/components/navigation-menu/NavigationMenu.jsx
|
|
7
|
+
import React from "react";
|
|
7
8
|
import { NavigationMenu as RadixNavigationMenu } from "radix-ui";
|
|
8
9
|
import { ChevronDown } from "@tlglobal/icons";
|
|
9
10
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
10
11
|
function Viewport() {
|
|
11
12
|
return /* @__PURE__ */ jsx("div", { className: "absolute left-0 top-full flex justify-center", children: /* @__PURE__ */ jsx(RadixNavigationMenu.Viewport, { className: "mt-2 w-full origin-top overflow-hidden rounded-md" }) });
|
|
12
13
|
}
|
|
13
|
-
|
|
14
|
-
return /* @__PURE__ */ jsxs(RadixNavigationMenu.Root, { className: cn("relative z-10 flex font-sans", className), ...props, children: [
|
|
14
|
+
var Root = React.forwardRef(function Root2({ className, children, ...props }, ref) {
|
|
15
|
+
return /* @__PURE__ */ jsxs(RadixNavigationMenu.Root, { ref, className: cn("relative z-10 flex font-sans", className), ...props, children: [
|
|
15
16
|
children,
|
|
16
17
|
/* @__PURE__ */ jsx(Viewport, {})
|
|
17
18
|
] });
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
return /* @__PURE__ */ jsx(RadixNavigationMenu.List, { className: cn("flex items-center gap-1", className), ...props });
|
|
21
|
-
}
|
|
22
|
-
|
|
19
|
+
});
|
|
20
|
+
var List = React.forwardRef(function List2({ className, ...props }, ref) {
|
|
21
|
+
return /* @__PURE__ */ jsx(RadixNavigationMenu.List, { ref, className: cn("flex items-center gap-1", className), ...props });
|
|
22
|
+
});
|
|
23
|
+
var Trigger = React.forwardRef(function Trigger2({ className, children, ...props }, ref) {
|
|
23
24
|
return /* @__PURE__ */ jsxs(
|
|
24
25
|
RadixNavigationMenu.Trigger,
|
|
25
26
|
{
|
|
27
|
+
ref,
|
|
26
28
|
className: cn(
|
|
27
29
|
"flex items-center gap-1 rounded-md px-3 py-2 text-sm font-semibold text-text-secondary outline-none transition-colors hover:bg-bg-surface hover:text-text-primary data-[state=open]:text-text-primary [&[data-state=open]>svg]:rotate-180",
|
|
28
30
|
className
|
|
@@ -34,11 +36,12 @@ function Trigger({ className, children, ...props }) {
|
|
|
34
36
|
]
|
|
35
37
|
}
|
|
36
38
|
);
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
+
});
|
|
40
|
+
var Content = React.forwardRef(function Content2({ className, ...props }, ref) {
|
|
39
41
|
return /* @__PURE__ */ jsx(
|
|
40
42
|
RadixNavigationMenu.Content,
|
|
41
43
|
{
|
|
44
|
+
ref,
|
|
42
45
|
className: cn(
|
|
43
46
|
"w-full min-w-[280px] rounded-md border border-border-default bg-bg-page p-3 shadow-md",
|
|
44
47
|
className
|
|
@@ -46,11 +49,12 @@ function Content({ className, ...props }) {
|
|
|
46
49
|
...props
|
|
47
50
|
}
|
|
48
51
|
);
|
|
49
|
-
}
|
|
50
|
-
|
|
52
|
+
});
|
|
53
|
+
var Link = React.forwardRef(function Link2({ className, ...props }, ref) {
|
|
51
54
|
return /* @__PURE__ */ jsx(
|
|
52
55
|
RadixNavigationMenu.Link,
|
|
53
56
|
{
|
|
57
|
+
ref,
|
|
54
58
|
className: cn(
|
|
55
59
|
"flex items-center rounded-md px-3 py-2 text-sm font-semibold text-text-secondary outline-none transition-colors hover:bg-bg-surface hover:text-text-primary data-[active]:text-accent",
|
|
56
60
|
className
|
|
@@ -58,7 +62,7 @@ function Link({ className, ...props }) {
|
|
|
58
62
|
...props
|
|
59
63
|
}
|
|
60
64
|
);
|
|
61
|
-
}
|
|
65
|
+
});
|
|
62
66
|
var NavigationMenu = {
|
|
63
67
|
Root,
|
|
64
68
|
List,
|
|
@@ -71,4 +75,4 @@ var NavigationMenu = {
|
|
|
71
75
|
export {
|
|
72
76
|
NavigationMenu
|
|
73
77
|
};
|
|
74
|
-
//# sourceMappingURL=chunk-
|
|
78
|
+
//# sourceMappingURL=chunk-ITPU3GJP.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/navigation-menu/NavigationMenu.jsx"],"sourcesContent":["import React from \"react\";\nimport { NavigationMenu as RadixNavigationMenu } from \"radix-ui\";\nimport { ChevronDown } from \"@tlglobal/icons\";\nimport { cn } from \"../../lib/cn.js\";\n\nfunction Viewport() {\n return (\n <div className=\"absolute left-0 top-full flex justify-center\">\n <RadixNavigationMenu.Viewport className=\"mt-2 w-full origin-top overflow-hidden rounded-md\" />\n </div>\n );\n}\n\nconst Root = React.forwardRef(function Root({ className, children, ...props }, ref) {\n return (\n <RadixNavigationMenu.Root ref={ref} className={cn(\"relative z-10 flex font-sans\", className)} {...props}>\n {children}\n <Viewport />\n </RadixNavigationMenu.Root>\n );\n});\n\nconst List = React.forwardRef(function List({ className, ...props }, ref) {\n return <RadixNavigationMenu.List ref={ref} className={cn(\"flex items-center gap-1\", className)} {...props} />;\n});\n\nconst Trigger = React.forwardRef(function Trigger({ className, children, ...props }, ref) {\n return (\n <RadixNavigationMenu.Trigger\n ref={ref}\n className={cn(\n \"flex items-center gap-1 rounded-md px-3 py-2 text-sm font-semibold text-text-secondary outline-none transition-colors hover:bg-bg-surface hover:text-text-primary data-[state=open]:text-text-primary [&[data-state=open]>svg]:rotate-180\",\n className,\n )}\n {...props}\n >\n {children}\n <ChevronDown size={14} className=\"relative top-px transition-transform duration-200\" />\n </RadixNavigationMenu.Trigger>\n );\n});\n\nconst Content = React.forwardRef(function Content({ className, ...props }, ref) {\n return (\n <RadixNavigationMenu.Content\n ref={ref}\n className={cn(\n \"w-full min-w-[280px] rounded-md border border-border-default bg-bg-page p-3 shadow-md\",\n className,\n )}\n {...props}\n />\n );\n});\n\nconst Link = React.forwardRef(function Link({ className, ...props }, ref) {\n return (\n <RadixNavigationMenu.Link\n ref={ref}\n className={cn(\n \"flex items-center rounded-md px-3 py-2 text-sm font-semibold text-text-secondary outline-none transition-colors hover:bg-bg-surface hover:text-text-primary data-[active]:text-accent\",\n className,\n )}\n {...props}\n />\n );\n});\n\nexport const NavigationMenu = {\n Root,\n List,\n Item: RadixNavigationMenu.Item,\n Trigger,\n Content,\n Link,\n};\n"],"mappings":";;;;;;AAAA,OAAO,WAAW;AAClB,SAAS,kBAAkB,2BAA2B;AACtD,SAAS,mBAAmB;AAMtB,cAOF,YAPE;AAHN,SAAS,WAAW;AAClB,SACE,oBAAC,SAAI,WAAU,gDACb,8BAAC,oBAAoB,UAApB,EAA6B,WAAU,qDAAoD,GAC9F;AAEJ;AAEA,IAAM,OAAO,MAAM,WAAW,SAASA,MAAK,EAAE,WAAW,UAAU,GAAG,MAAM,GAAG,KAAK;AAClF,SACE,qBAAC,oBAAoB,MAApB,EAAyB,KAAU,WAAW,GAAG,gCAAgC,SAAS,GAAI,GAAG,OAC/F;AAAA;AAAA,IACD,oBAAC,YAAS;AAAA,KACZ;AAEJ,CAAC;AAED,IAAM,OAAO,MAAM,WAAW,SAASC,MAAK,EAAE,WAAW,GAAG,MAAM,GAAG,KAAK;AACxE,SAAO,oBAAC,oBAAoB,MAApB,EAAyB,KAAU,WAAW,GAAG,2BAA2B,SAAS,GAAI,GAAG,OAAO;AAC7G,CAAC;AAED,IAAM,UAAU,MAAM,WAAW,SAASC,SAAQ,EAAE,WAAW,UAAU,GAAG,MAAM,GAAG,KAAK;AACxF,SACE;AAAA,IAAC,oBAAoB;AAAA,IAApB;AAAA,MACC;AAAA,MACA,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEH;AAAA;AAAA,QACD,oBAAC,eAAY,MAAM,IAAI,WAAU,qDAAoD;AAAA;AAAA;AAAA,EACvF;AAEJ,CAAC;AAED,IAAM,UAAU,MAAM,WAAW,SAASC,SAAQ,EAAE,WAAW,GAAG,MAAM,GAAG,KAAK;AAC9E,SACE;AAAA,IAAC,oBAAoB;AAAA,IAApB;AAAA,MACC;AAAA,MACA,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ,CAAC;AAED,IAAM,OAAO,MAAM,WAAW,SAASC,MAAK,EAAE,WAAW,GAAG,MAAM,GAAG,KAAK;AACxE,SACE;AAAA,IAAC,oBAAoB;AAAA,IAApB;AAAA,MACC;AAAA,MACA,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ,CAAC;AAEM,IAAM,iBAAiB;AAAA,EAC5B;AAAA,EACA;AAAA,EACA,MAAM,oBAAoB;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AACF;","names":["Root","List","Trigger","Content","Link"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }'use client';
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunkA2ZOWFFGcjs = require('./chunk-A2ZOWFFG.cjs');
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
var _chunkNSTYHMFWcjs = require('./chunk-NSTYHMFW.cjs');
|
|
@@ -46,12 +46,12 @@ var Combobox = _react2.default.forwardRef(function Combobox2({
|
|
|
46
46
|
align: "start",
|
|
47
47
|
sideOffset: 4,
|
|
48
48
|
className: "z-50 w-[var(--radix-popover-trigger-width)] overflow-hidden rounded-md border border-border-default bg-bg-page p-0 shadow-md outline-none",
|
|
49
|
-
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
50
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
51
|
-
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
52
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
53
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
54
|
-
|
|
49
|
+
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkA2ZOWFFGcjs.Command.Root, { children: [
|
|
50
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkA2ZOWFFGcjs.Command.Input, { placeholder: searchPlaceholder }),
|
|
51
|
+
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkA2ZOWFFGcjs.Command.List, { children: [
|
|
52
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkA2ZOWFFGcjs.Command.Empty, { children: emptyMessage }),
|
|
53
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkA2ZOWFFGcjs.Command.Group, { children: options.map((option) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
54
|
+
_chunkA2ZOWFFGcjs.Command.Item,
|
|
55
55
|
{
|
|
56
56
|
value: option.label,
|
|
57
57
|
disabled: option.disabled,
|
|
@@ -82,4 +82,4 @@ var Combobox = _react2.default.forwardRef(function Combobox2({
|
|
|
82
82
|
|
|
83
83
|
|
|
84
84
|
exports.Combobox = Combobox;
|
|
85
|
-
//# sourceMappingURL=chunk-
|
|
85
|
+
//# sourceMappingURL=chunk-JFDZ7CML.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/Atoms/Atoms/packages/ui/dist/chunk-
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/Atoms/Atoms/packages/ui/dist/chunk-JFDZ7CML.cjs","../src/components/combobox/Combobox.jsx"],"names":["Combobox"],"mappings":"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","file":"/home/runner/work/Atoms/Atoms/packages/ui/dist/chunk-JFDZ7CML.cjs","sourcesContent":[null,"import React, { useState } from \"react\";\nimport { Popover as RadixPopover } from \"radix-ui\";\nimport { Check, ChevronsUpDown } from \"@tlglobal/icons\";\nimport { cn } from \"../../lib/cn.js\";\nimport { Command } from \"../command/Command.jsx\";\n\n// Built directly on Radix Popover (not our styled Popover component) since Popover.Content bakes\n// in a fixed width/padding meant for free-form content — Combobox needs the content to match the\n// trigger's width and hold a Command list with no padding, so it goes straight to the primitive.\nexport const Combobox = React.forwardRef(function Combobox(\n {\n options = [],\n value,\n onValueChange,\n placeholder = \"Select…\",\n searchPlaceholder = \"Search…\",\n emptyMessage = \"No results found.\",\n disabled,\n className,\n ...props\n },\n ref,\n) {\n const [open, setOpen] = useState(false);\n const selected = options.find((option) => option.value === value);\n\n return (\n <RadixPopover.Root open={open} onOpenChange={setOpen} {...props}>\n <RadixPopover.Trigger\n ref={ref}\n disabled={disabled}\n className={cn(\n \"flex h-[38px] w-full items-center justify-between gap-2 rounded-md border border-border-default bg-bg-page px-3 font-sans text-base text-text-primary outline-none transition-[border-color,box-shadow] duration-150 ease-out data-[state=open]:border-border-focus data-[state=open]:shadow-[var(--shadow-focus-ring)] disabled:cursor-not-allowed disabled:bg-bg-surface\",\n className,\n )}\n >\n <span className={cn(\"truncate\", !selected && \"text-text-muted\")}>\n {selected ? selected.label : placeholder}\n </span>\n <ChevronsUpDown size={16} className=\"shrink-0 text-text-muted\" />\n </RadixPopover.Trigger>\n <RadixPopover.Portal>\n <RadixPopover.Content\n align=\"start\"\n sideOffset={4}\n className=\"z-50 w-[var(--radix-popover-trigger-width)] overflow-hidden rounded-md border border-border-default bg-bg-page p-0 shadow-md outline-none\"\n >\n <Command.Root>\n <Command.Input placeholder={searchPlaceholder} />\n <Command.List>\n <Command.Empty>{emptyMessage}</Command.Empty>\n <Command.Group>\n {options.map((option) => (\n <Command.Item\n key={option.value}\n value={option.label}\n disabled={option.disabled}\n onSelect={() => {\n onValueChange?.(option.value === value ? undefined : option.value);\n setOpen(false);\n }}\n >\n <Check\n size={14}\n className={cn(\"shrink-0 text-accent\", option.value === value ? \"opacity-100\" : \"opacity-0\")}\n />\n {option.label}\n </Command.Item>\n ))}\n </Command.Group>\n </Command.List>\n </Command.Root>\n </RadixPopover.Content>\n </RadixPopover.Portal>\n </RadixPopover.Root>\n );\n});\n"]}
|
|
@@ -1,14 +1,34 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});'use client';
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }'use client';
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunkUMGGVQCDcjs = require('./chunk-UMGGVQCD.cjs');
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
var _chunkNSTYHMFWcjs = require('./chunk-NSTYHMFW.cjs');
|
|
8
8
|
|
|
9
9
|
// src/components/message-scroller/MessageScroller.jsx
|
|
10
|
-
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
var _react = require('react'); var _react2 = _interopRequireDefault(_react);
|
|
11
19
|
var _icons = require('@tlglobal/icons');
|
|
20
|
+
|
|
21
|
+
// src/lib/mergeRefs.js
|
|
22
|
+
function mergeRefs(...refs) {
|
|
23
|
+
return (node) => {
|
|
24
|
+
for (const ref of refs) {
|
|
25
|
+
if (typeof ref === "function") ref(node);
|
|
26
|
+
else if (ref && typeof ref === "object") ref.current = node;
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
// src/components/message-scroller/MessageScroller.jsx
|
|
12
32
|
var _jsxruntime = require('react/jsx-runtime');
|
|
13
33
|
var MessageScrollerContext = _react.createContext.call(void 0, null);
|
|
14
34
|
function useMessageScroller() {
|
|
@@ -16,7 +36,7 @@ function useMessageScroller() {
|
|
|
16
36
|
if (!context) throw new Error("MessageScroller parts must be used within MessageScroller.Root");
|
|
17
37
|
return context;
|
|
18
38
|
}
|
|
19
|
-
|
|
39
|
+
var Root = _react2.default.forwardRef(function Root2({ threshold = 32, className, children, ...props }, ref) {
|
|
20
40
|
const viewportRef = _react.useRef.call(void 0, null);
|
|
21
41
|
const contentRef = _react.useRef.call(void 0, null);
|
|
22
42
|
const [isPinned, setIsPinned] = _react.useState.call(void 0, true);
|
|
@@ -60,6 +80,7 @@ function Root({ threshold = 32, className, children, ...props }) {
|
|
|
60
80
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MessageScrollerContext.Provider, { value: context, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
61
81
|
"div",
|
|
62
82
|
{
|
|
83
|
+
ref,
|
|
63
84
|
"data-slot": "message-scroller",
|
|
64
85
|
"data-pinned": isPinned || void 0,
|
|
65
86
|
className: _chunkNSTYHMFWcjs.cn.call(void 0, "relative flex min-h-0 flex-1 flex-col", className),
|
|
@@ -67,13 +88,14 @@ function Root({ threshold = 32, className, children, ...props }) {
|
|
|
67
88
|
children
|
|
68
89
|
}
|
|
69
90
|
) });
|
|
70
|
-
}
|
|
71
|
-
|
|
91
|
+
});
|
|
92
|
+
var Viewport = _react2.default.forwardRef(function Viewport2({ className, ...props }, ref) {
|
|
72
93
|
const { viewportRef, handleScroll } = useMessageScroller();
|
|
94
|
+
const setRef = _react.useMemo.call(void 0, () => mergeRefs(viewportRef, ref), [viewportRef, ref]);
|
|
73
95
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
74
96
|
"div",
|
|
75
97
|
{
|
|
76
|
-
ref:
|
|
98
|
+
ref: setRef,
|
|
77
99
|
onScroll: handleScroll,
|
|
78
100
|
"data-slot": "message-scroller-viewport",
|
|
79
101
|
tabIndex: 0,
|
|
@@ -83,25 +105,27 @@ function Viewport({ className, ...props }) {
|
|
|
83
105
|
...props
|
|
84
106
|
}
|
|
85
107
|
);
|
|
86
|
-
}
|
|
87
|
-
|
|
108
|
+
});
|
|
109
|
+
var Content = _react2.default.forwardRef(function Content2({ className, ...props }, ref) {
|
|
88
110
|
const { contentRef } = useMessageScroller();
|
|
111
|
+
const setRef = _react.useMemo.call(void 0, () => mergeRefs(contentRef, ref), [contentRef, ref]);
|
|
89
112
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
90
113
|
"div",
|
|
91
114
|
{
|
|
92
|
-
ref:
|
|
115
|
+
ref: setRef,
|
|
93
116
|
"data-slot": "message-scroller-content",
|
|
94
117
|
className: _chunkNSTYHMFWcjs.cn.call(void 0, "flex flex-col gap-4 p-4", className),
|
|
95
118
|
...props
|
|
96
119
|
}
|
|
97
120
|
);
|
|
98
|
-
}
|
|
99
|
-
|
|
121
|
+
});
|
|
122
|
+
var JumpToLatest = _react2.default.forwardRef(function JumpToLatest2({ className, children = "Jump to latest", onClick, ...props }, ref) {
|
|
100
123
|
const { isPinned, scrollToBottom } = useMessageScroller();
|
|
101
124
|
if (isPinned) return null;
|
|
102
125
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
103
|
-
|
|
126
|
+
_chunkUMGGVQCDcjs.Button,
|
|
104
127
|
{
|
|
128
|
+
ref,
|
|
105
129
|
variant: "secondary",
|
|
106
130
|
size: "sm",
|
|
107
131
|
iconRight: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _icons.ChevronDown, { size: 14 }),
|
|
@@ -115,11 +139,11 @@ function JumpToLatest({ className, children = "Jump to latest", onClick, ...prop
|
|
|
115
139
|
children
|
|
116
140
|
}
|
|
117
141
|
);
|
|
118
|
-
}
|
|
142
|
+
});
|
|
119
143
|
var MessageScroller = { Root, Viewport, Content, JumpToLatest };
|
|
120
144
|
|
|
121
145
|
|
|
122
146
|
|
|
123
147
|
|
|
124
148
|
exports.useMessageScroller = useMessageScroller; exports.MessageScroller = MessageScroller;
|
|
125
|
-
//# sourceMappingURL=chunk-
|
|
149
|
+
//# sourceMappingURL=chunk-JVNI5OEZ.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/Atoms/Atoms/packages/ui/dist/chunk-JVNI5OEZ.cjs","../src/components/message-scroller/MessageScroller.jsx","../src/lib/mergeRefs.js"],"names":["Root","Viewport","Content","JumpToLatest"],"mappings":"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","file":"/home/runner/work/Atoms/Atoms/packages/ui/dist/chunk-JVNI5OEZ.cjs","sourcesContent":[null,"import React, {\n createContext,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { ChevronDown } from \"@tlglobal/icons\";\nimport { cn } from \"../../lib/cn.js\";\nimport { mergeRefs } from \"../../lib/mergeRefs.js\";\nimport { Button } from \"../button/Button.jsx\";\n\nconst MessageScrollerContext = createContext(null);\n\nexport function useMessageScroller() {\n const context = useContext(MessageScrollerContext);\n if (!context) throw new Error(\"MessageScroller parts must be used within MessageScroller.Root\");\n return context;\n}\n\nconst Root = React.forwardRef(function Root({ threshold = 32, className, children, ...props }, ref) {\n const viewportRef = useRef(null);\n const contentRef = useRef(null);\n const [isPinned, setIsPinned] = useState(true);\n\n /*\n * The observers below must not re-subscribe every time `isPinned` flips — that would tear down\n * and rebuild a ResizeObserver on every scroll. They read this ref instead, which is kept in\n * sync with the state that drives rendering.\n */\n const pinnedRef = useRef(true);\n const setPinned = useCallback((value) => {\n pinnedRef.current = value;\n setIsPinned(value);\n }, []);\n\n const scrollToBottom = useCallback((options) => {\n const el = viewportRef.current;\n if (!el) return;\n // Assigning scrollTop is the fallback rather than the exception: jsdom has no\n // Element.prototype.scrollTo at all, so smooth scrolling can't be the only path.\n if (options?.behavior === \"smooth\" && typeof el.scrollTo === \"function\") {\n el.scrollTo({ top: el.scrollHeight, behavior: \"smooth\" });\n } else {\n el.scrollTop = el.scrollHeight;\n }\n setPinned(true);\n }, [setPinned]);\n\n const handleScroll = useCallback(() => {\n const el = viewportRef.current;\n if (!el) return;\n const distanceFromBottom = el.scrollHeight - el.scrollTop - el.clientHeight;\n setPinned(distanceFromBottom <= threshold);\n }, [threshold, setPinned]);\n\n // Start at the newest message, without an animation the user didn't ask for.\n useEffect(() => {\n scrollToBottom({ behavior: \"auto\" });\n }, [scrollToBottom]);\n\n /*\n * Follow new content only while the user is still at the bottom. Yanking them back down mid-scroll\n * because a reply streamed in is the single most annoying failure mode of a chat log, so once they\n * scroll away we leave them alone and surface JumpToLatest instead.\n */\n useEffect(() => {\n const content = contentRef.current;\n if (!content || typeof ResizeObserver === \"undefined\") return undefined;\n\n const observer = new ResizeObserver(() => {\n if (pinnedRef.current) scrollToBottom({ behavior: \"auto\" });\n });\n observer.observe(content);\n return () => observer.disconnect();\n }, [scrollToBottom]);\n\n const context = useMemo(\n () => ({ viewportRef, contentRef, isPinned, scrollToBottom, handleScroll }),\n [isPinned, scrollToBottom, handleScroll],\n );\n\n return (\n <MessageScrollerContext.Provider value={context}>\n <div\n ref={ref}\n data-slot=\"message-scroller\"\n data-pinned={isPinned || undefined}\n className={cn(\"relative flex min-h-0 flex-1 flex-col\", className)}\n {...props}\n >\n {children}\n </div>\n </MessageScrollerContext.Provider>\n );\n});\n\nconst Viewport = React.forwardRef(function Viewport({ className, ...props }, ref) {\n const { viewportRef, handleScroll } = useMessageScroller();\n const setRef = useMemo(() => mergeRefs(viewportRef, ref), [viewportRef, ref]);\n return (\n <div\n ref={setRef}\n onScroll={handleScroll}\n data-slot=\"message-scroller-viewport\"\n /*\n * Chrome won't let a keyboard user scroll an overflow container that isn't focusable, so\n * WCAG 2.1.1 wants tabIndex={0} here. jsx-a11y flags it because `log` isn't a tabbable role —\n * a known gap in the rule for scrollable regions, not a real finding. role + aria-label give\n * the region a name so it isn't announced as an anonymous scrollable group.\n */\n // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex\n tabIndex={0}\n role=\"log\"\n aria-label=\"Conversation\"\n className={cn(\"min-h-0 flex-1 overflow-y-auto overscroll-contain focus-visible:outline-none\", className)}\n {...props}\n />\n );\n});\n\nconst Content = React.forwardRef(function Content({ className, ...props }, ref) {\n const { contentRef } = useMessageScroller();\n const setRef = useMemo(() => mergeRefs(contentRef, ref), [contentRef, ref]);\n return (\n <div\n ref={setRef}\n data-slot=\"message-scroller-content\"\n className={cn(\"flex flex-col gap-4 p-4\", className)}\n {...props}\n />\n );\n});\n\nconst JumpToLatest = React.forwardRef(function JumpToLatest(\n { className, children = \"Jump to latest\", onClick, ...props },\n ref,\n) {\n const { isPinned, scrollToBottom } = useMessageScroller();\n if (isPinned) return null;\n\n return (\n <Button\n ref={ref}\n variant=\"secondary\"\n size=\"sm\"\n iconRight={<ChevronDown size={14} />}\n onClick={(event) => {\n onClick?.(event);\n scrollToBottom({ behavior: \"smooth\" });\n }}\n data-slot=\"message-scroller-jump\"\n className={cn(\"absolute bottom-4 left-1/2 -translate-x-1/2 rounded-full shadow-md\", className)}\n {...props}\n >\n {children}\n </Button>\n );\n});\n\nexport const MessageScroller = { Root, Viewport, Content, JumpToLatest };\n","/**\n * Combines multiple refs (callback or object) into one callback ref, so a component that already\n * owns an internal ref (e.g. for scroll tracking) can still forward an external one to the same\n * DOM node.\n */\nexport function mergeRefs(...refs) {\n return (node) => {\n for (const ref of refs) {\n if (typeof ref === \"function\") ref(node);\n else if (ref && typeof ref === \"object\") ref.current = node;\n }\n };\n}\n"]}
|
|
@@ -1,14 +1,34 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import {
|
|
3
3
|
Button
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-UC2Y7ECN.js";
|
|
5
5
|
import {
|
|
6
6
|
cn
|
|
7
7
|
} from "./chunk-74GQ35MJ.js";
|
|
8
8
|
|
|
9
9
|
// src/components/message-scroller/MessageScroller.jsx
|
|
10
|
-
import
|
|
10
|
+
import React, {
|
|
11
|
+
createContext,
|
|
12
|
+
useCallback,
|
|
13
|
+
useContext,
|
|
14
|
+
useEffect,
|
|
15
|
+
useMemo,
|
|
16
|
+
useRef,
|
|
17
|
+
useState
|
|
18
|
+
} from "react";
|
|
11
19
|
import { ChevronDown } from "@tlglobal/icons";
|
|
20
|
+
|
|
21
|
+
// src/lib/mergeRefs.js
|
|
22
|
+
function mergeRefs(...refs) {
|
|
23
|
+
return (node) => {
|
|
24
|
+
for (const ref of refs) {
|
|
25
|
+
if (typeof ref === "function") ref(node);
|
|
26
|
+
else if (ref && typeof ref === "object") ref.current = node;
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
// src/components/message-scroller/MessageScroller.jsx
|
|
12
32
|
import { jsx } from "react/jsx-runtime";
|
|
13
33
|
var MessageScrollerContext = createContext(null);
|
|
14
34
|
function useMessageScroller() {
|
|
@@ -16,7 +36,7 @@ function useMessageScroller() {
|
|
|
16
36
|
if (!context) throw new Error("MessageScroller parts must be used within MessageScroller.Root");
|
|
17
37
|
return context;
|
|
18
38
|
}
|
|
19
|
-
|
|
39
|
+
var Root = React.forwardRef(function Root2({ threshold = 32, className, children, ...props }, ref) {
|
|
20
40
|
const viewportRef = useRef(null);
|
|
21
41
|
const contentRef = useRef(null);
|
|
22
42
|
const [isPinned, setIsPinned] = useState(true);
|
|
@@ -60,6 +80,7 @@ function Root({ threshold = 32, className, children, ...props }) {
|
|
|
60
80
|
return /* @__PURE__ */ jsx(MessageScrollerContext.Provider, { value: context, children: /* @__PURE__ */ jsx(
|
|
61
81
|
"div",
|
|
62
82
|
{
|
|
83
|
+
ref,
|
|
63
84
|
"data-slot": "message-scroller",
|
|
64
85
|
"data-pinned": isPinned || void 0,
|
|
65
86
|
className: cn("relative flex min-h-0 flex-1 flex-col", className),
|
|
@@ -67,13 +88,14 @@ function Root({ threshold = 32, className, children, ...props }) {
|
|
|
67
88
|
children
|
|
68
89
|
}
|
|
69
90
|
) });
|
|
70
|
-
}
|
|
71
|
-
|
|
91
|
+
});
|
|
92
|
+
var Viewport = React.forwardRef(function Viewport2({ className, ...props }, ref) {
|
|
72
93
|
const { viewportRef, handleScroll } = useMessageScroller();
|
|
94
|
+
const setRef = useMemo(() => mergeRefs(viewportRef, ref), [viewportRef, ref]);
|
|
73
95
|
return /* @__PURE__ */ jsx(
|
|
74
96
|
"div",
|
|
75
97
|
{
|
|
76
|
-
ref:
|
|
98
|
+
ref: setRef,
|
|
77
99
|
onScroll: handleScroll,
|
|
78
100
|
"data-slot": "message-scroller-viewport",
|
|
79
101
|
tabIndex: 0,
|
|
@@ -83,25 +105,27 @@ function Viewport({ className, ...props }) {
|
|
|
83
105
|
...props
|
|
84
106
|
}
|
|
85
107
|
);
|
|
86
|
-
}
|
|
87
|
-
|
|
108
|
+
});
|
|
109
|
+
var Content = React.forwardRef(function Content2({ className, ...props }, ref) {
|
|
88
110
|
const { contentRef } = useMessageScroller();
|
|
111
|
+
const setRef = useMemo(() => mergeRefs(contentRef, ref), [contentRef, ref]);
|
|
89
112
|
return /* @__PURE__ */ jsx(
|
|
90
113
|
"div",
|
|
91
114
|
{
|
|
92
|
-
ref:
|
|
115
|
+
ref: setRef,
|
|
93
116
|
"data-slot": "message-scroller-content",
|
|
94
117
|
className: cn("flex flex-col gap-4 p-4", className),
|
|
95
118
|
...props
|
|
96
119
|
}
|
|
97
120
|
);
|
|
98
|
-
}
|
|
99
|
-
|
|
121
|
+
});
|
|
122
|
+
var JumpToLatest = React.forwardRef(function JumpToLatest2({ className, children = "Jump to latest", onClick, ...props }, ref) {
|
|
100
123
|
const { isPinned, scrollToBottom } = useMessageScroller();
|
|
101
124
|
if (isPinned) return null;
|
|
102
125
|
return /* @__PURE__ */ jsx(
|
|
103
126
|
Button,
|
|
104
127
|
{
|
|
128
|
+
ref,
|
|
105
129
|
variant: "secondary",
|
|
106
130
|
size: "sm",
|
|
107
131
|
iconRight: /* @__PURE__ */ jsx(ChevronDown, { size: 14 }),
|
|
@@ -115,11 +139,11 @@ function JumpToLatest({ className, children = "Jump to latest", onClick, ...prop
|
|
|
115
139
|
children
|
|
116
140
|
}
|
|
117
141
|
);
|
|
118
|
-
}
|
|
142
|
+
});
|
|
119
143
|
var MessageScroller = { Root, Viewport, Content, JumpToLatest };
|
|
120
144
|
|
|
121
145
|
export {
|
|
122
146
|
useMessageScroller,
|
|
123
147
|
MessageScroller
|
|
124
148
|
};
|
|
125
|
-
//# sourceMappingURL=chunk-
|
|
149
|
+
//# sourceMappingURL=chunk-KLCAYZB2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/message-scroller/MessageScroller.jsx","../src/lib/mergeRefs.js"],"sourcesContent":["import React, {\n createContext,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { ChevronDown } from \"@tlglobal/icons\";\nimport { cn } from \"../../lib/cn.js\";\nimport { mergeRefs } from \"../../lib/mergeRefs.js\";\nimport { Button } from \"../button/Button.jsx\";\n\nconst MessageScrollerContext = createContext(null);\n\nexport function useMessageScroller() {\n const context = useContext(MessageScrollerContext);\n if (!context) throw new Error(\"MessageScroller parts must be used within MessageScroller.Root\");\n return context;\n}\n\nconst Root = React.forwardRef(function Root({ threshold = 32, className, children, ...props }, ref) {\n const viewportRef = useRef(null);\n const contentRef = useRef(null);\n const [isPinned, setIsPinned] = useState(true);\n\n /*\n * The observers below must not re-subscribe every time `isPinned` flips — that would tear down\n * and rebuild a ResizeObserver on every scroll. They read this ref instead, which is kept in\n * sync with the state that drives rendering.\n */\n const pinnedRef = useRef(true);\n const setPinned = useCallback((value) => {\n pinnedRef.current = value;\n setIsPinned(value);\n }, []);\n\n const scrollToBottom = useCallback((options) => {\n const el = viewportRef.current;\n if (!el) return;\n // Assigning scrollTop is the fallback rather than the exception: jsdom has no\n // Element.prototype.scrollTo at all, so smooth scrolling can't be the only path.\n if (options?.behavior === \"smooth\" && typeof el.scrollTo === \"function\") {\n el.scrollTo({ top: el.scrollHeight, behavior: \"smooth\" });\n } else {\n el.scrollTop = el.scrollHeight;\n }\n setPinned(true);\n }, [setPinned]);\n\n const handleScroll = useCallback(() => {\n const el = viewportRef.current;\n if (!el) return;\n const distanceFromBottom = el.scrollHeight - el.scrollTop - el.clientHeight;\n setPinned(distanceFromBottom <= threshold);\n }, [threshold, setPinned]);\n\n // Start at the newest message, without an animation the user didn't ask for.\n useEffect(() => {\n scrollToBottom({ behavior: \"auto\" });\n }, [scrollToBottom]);\n\n /*\n * Follow new content only while the user is still at the bottom. Yanking them back down mid-scroll\n * because a reply streamed in is the single most annoying failure mode of a chat log, so once they\n * scroll away we leave them alone and surface JumpToLatest instead.\n */\n useEffect(() => {\n const content = contentRef.current;\n if (!content || typeof ResizeObserver === \"undefined\") return undefined;\n\n const observer = new ResizeObserver(() => {\n if (pinnedRef.current) scrollToBottom({ behavior: \"auto\" });\n });\n observer.observe(content);\n return () => observer.disconnect();\n }, [scrollToBottom]);\n\n const context = useMemo(\n () => ({ viewportRef, contentRef, isPinned, scrollToBottom, handleScroll }),\n [isPinned, scrollToBottom, handleScroll],\n );\n\n return (\n <MessageScrollerContext.Provider value={context}>\n <div\n ref={ref}\n data-slot=\"message-scroller\"\n data-pinned={isPinned || undefined}\n className={cn(\"relative flex min-h-0 flex-1 flex-col\", className)}\n {...props}\n >\n {children}\n </div>\n </MessageScrollerContext.Provider>\n );\n});\n\nconst Viewport = React.forwardRef(function Viewport({ className, ...props }, ref) {\n const { viewportRef, handleScroll } = useMessageScroller();\n const setRef = useMemo(() => mergeRefs(viewportRef, ref), [viewportRef, ref]);\n return (\n <div\n ref={setRef}\n onScroll={handleScroll}\n data-slot=\"message-scroller-viewport\"\n /*\n * Chrome won't let a keyboard user scroll an overflow container that isn't focusable, so\n * WCAG 2.1.1 wants tabIndex={0} here. jsx-a11y flags it because `log` isn't a tabbable role —\n * a known gap in the rule for scrollable regions, not a real finding. role + aria-label give\n * the region a name so it isn't announced as an anonymous scrollable group.\n */\n // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex\n tabIndex={0}\n role=\"log\"\n aria-label=\"Conversation\"\n className={cn(\"min-h-0 flex-1 overflow-y-auto overscroll-contain focus-visible:outline-none\", className)}\n {...props}\n />\n );\n});\n\nconst Content = React.forwardRef(function Content({ className, ...props }, ref) {\n const { contentRef } = useMessageScroller();\n const setRef = useMemo(() => mergeRefs(contentRef, ref), [contentRef, ref]);\n return (\n <div\n ref={setRef}\n data-slot=\"message-scroller-content\"\n className={cn(\"flex flex-col gap-4 p-4\", className)}\n {...props}\n />\n );\n});\n\nconst JumpToLatest = React.forwardRef(function JumpToLatest(\n { className, children = \"Jump to latest\", onClick, ...props },\n ref,\n) {\n const { isPinned, scrollToBottom } = useMessageScroller();\n if (isPinned) return null;\n\n return (\n <Button\n ref={ref}\n variant=\"secondary\"\n size=\"sm\"\n iconRight={<ChevronDown size={14} />}\n onClick={(event) => {\n onClick?.(event);\n scrollToBottom({ behavior: \"smooth\" });\n }}\n data-slot=\"message-scroller-jump\"\n className={cn(\"absolute bottom-4 left-1/2 -translate-x-1/2 rounded-full shadow-md\", className)}\n {...props}\n >\n {children}\n </Button>\n );\n});\n\nexport const MessageScroller = { Root, Viewport, Content, JumpToLatest };\n","/**\n * Combines multiple refs (callback or object) into one callback ref, so a component that already\n * owns an internal ref (e.g. for scroll tracking) can still forward an external one to the same\n * DOM node.\n */\nexport function mergeRefs(...refs) {\n return (node) => {\n for (const ref of refs) {\n if (typeof ref === \"function\") ref(node);\n else if (ref && typeof ref === \"object\") ref.current = node;\n }\n };\n}\n"],"mappings":"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","names":["Root","Viewport","Content","JumpToLatest"]}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
'use client';
|
|
2
|
+
import {
|
|
3
|
+
disabledClass
|
|
4
|
+
} from "./chunk-LDABSX4U.js";
|
|
2
5
|
|
|
3
6
|
// src/components/toggle/Toggle.variants.js
|
|
4
7
|
import { cva } from "class-variance-authority";
|
|
5
8
|
var toggleVariants = cva(
|
|
6
|
-
|
|
9
|
+
`inline-flex items-center justify-center gap-1.5 rounded-md font-sans text-sm font-medium text-text-secondary transition-colors hover:bg-bg-surface hover:text-text-primary data-[state=on]:bg-accent-100 data-[state=on]:text-accent-700 ${disabledClass} focus-visible:outline-none focus-visible:shadow-[var(--shadow-focus-ring)]`,
|
|
7
10
|
{
|
|
8
11
|
variants: {
|
|
9
12
|
variant: {
|
|
@@ -23,4 +26,4 @@ var toggleVariants = cva(
|
|
|
23
26
|
export {
|
|
24
27
|
toggleVariants
|
|
25
28
|
};
|
|
26
|
-
//# sourceMappingURL=chunk-
|
|
29
|
+
//# sourceMappingURL=chunk-KTKJUALJ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/toggle/Toggle.variants.js"],"sourcesContent":["import { cva } from \"class-variance-authority\";\nimport { disabledClass } from \"../../lib/disabled.js\";\n\nexport const toggleVariants = cva(\n `inline-flex items-center justify-center gap-1.5 rounded-md font-sans text-sm font-medium text-text-secondary transition-colors hover:bg-bg-surface hover:text-text-primary data-[state=on]:bg-accent-100 data-[state=on]:text-accent-700 ${disabledClass} focus-visible:outline-none focus-visible:shadow-[var(--shadow-focus-ring)]`,\n {\n variants: {\n variant: {\n default: \"border border-transparent\",\n outline: \"border border-border-default\",\n },\n size: {\n sm: \"h-8 px-2\",\n md: \"h-[38px] px-2.5\",\n lg: \"h-11 px-3\",\n },\n },\n defaultVariants: { variant: \"default\", size: \"md\" },\n },\n);\n"],"mappings":";;;;;;AAAA,SAAS,WAAW;AAGb,IAAM,iBAAiB;AAAA,EAC5B,4OAA4O,aAAa;AAAA,EACzP;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SAAS;AAAA,QACT,SAAS;AAAA,MACX;AAAA,MACA,MAAM;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,MACN;AAAA,IACF;AAAA,IACA,iBAAiB,EAAE,SAAS,WAAW,MAAM,KAAK;AAAA,EACpD;AACF;","names":[]}
|