@mdigital_ui/ui 0.4.7 → 0.5.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.
- package/dist/alert/index.d.ts.map +1 -1
- package/dist/alert/index.js +1 -1
- package/dist/autocomplete/index.d.ts.map +1 -1
- package/dist/autocomplete/index.js +3 -2
- package/dist/avatar/index.d.ts.map +1 -1
- package/dist/avatar/index.js +1 -1
- package/dist/breadcrumbs/index.js +4 -4
- package/dist/button/index.js +2 -2
- package/dist/calendar/index.d.ts.map +1 -1
- package/dist/calendar/index.js +2 -1
- package/dist/cascader/index.d.ts.map +1 -1
- package/dist/cascader/index.js +1 -1
- package/dist/checkbox/index.d.ts.map +1 -1
- package/dist/checkbox/index.js +1 -1
- package/dist/checkbox/types.d.ts +2 -0
- package/dist/checkbox/types.d.ts.map +1 -1
- package/dist/{chunk-Z3DIBMBQ.js → chunk-3K4GIXFA.js} +178 -118
- package/dist/chunk-3K4GIXFA.js.map +1 -0
- package/dist/{chunk-SJLH5ZDW.js → chunk-4QLYRAW2.js} +3 -3
- package/dist/{chunk-SJLH5ZDW.js.map → chunk-4QLYRAW2.js.map} +1 -1
- package/dist/{chunk-4TEZWGX7.js → chunk-64OCJYSH.js} +17 -8
- package/dist/chunk-64OCJYSH.js.map +1 -0
- package/dist/{chunk-5YEC6FDN.js → chunk-6CMHCCDO.js} +14 -7
- package/dist/chunk-6CMHCCDO.js.map +1 -0
- package/dist/{chunk-7RT65ZGV.js → chunk-6H2Y3QKP.js} +75 -23
- package/dist/chunk-6H2Y3QKP.js.map +1 -0
- package/dist/{chunk-UFYG3HKL.js → chunk-6K6RGQNL.js} +193 -94
- package/dist/chunk-6K6RGQNL.js.map +1 -0
- package/dist/{chunk-ROQGBDET.js → chunk-6XXAZ6P2.js} +15 -7
- package/dist/chunk-6XXAZ6P2.js.map +1 -0
- package/dist/{chunk-3Z7RLVWD.js → chunk-75T5BISG.js} +7 -13
- package/dist/chunk-75T5BISG.js.map +1 -0
- package/dist/{chunk-XAM5EKOS.js → chunk-7SKAAKBC.js} +13 -12
- package/dist/chunk-7SKAAKBC.js.map +1 -0
- package/dist/{chunk-6RZEJRTC.js → chunk-7ZUIX4NK.js} +3 -3
- package/dist/{chunk-6RZEJRTC.js.map → chunk-7ZUIX4NK.js.map} +1 -1
- package/dist/{chunk-NPK4ESMA.js → chunk-B75ICJCX.js} +9 -16
- package/dist/chunk-B75ICJCX.js.map +1 -0
- package/dist/chunk-CB7YOZWV.js +50 -0
- package/dist/chunk-CB7YOZWV.js.map +1 -0
- package/dist/{chunk-UFC3RGIN.js → chunk-DXAOZB6J.js} +4 -4
- package/dist/chunk-DXAOZB6J.js.map +1 -0
- package/dist/{chunk-75N6T3IS.js → chunk-ECBTSKES.js} +13 -10
- package/dist/chunk-ECBTSKES.js.map +1 -0
- package/dist/{chunk-J2WIZULN.js → chunk-FCIK35OY.js} +3 -3
- package/dist/{chunk-J2WIZULN.js.map → chunk-FCIK35OY.js.map} +1 -1
- package/dist/{chunk-FY2TZ2NT.js → chunk-GP7R3AFC.js} +58 -30
- package/dist/chunk-GP7R3AFC.js.map +1 -0
- package/dist/{chunk-ED4CQZ72.js → chunk-GQM5WLP5.js} +4 -4
- package/dist/{chunk-ED4CQZ72.js.map → chunk-GQM5WLP5.js.map} +1 -1
- package/dist/{chunk-TBKPQOXF.js → chunk-GSLNACUF.js} +3 -3
- package/dist/{chunk-TBKPQOXF.js.map → chunk-GSLNACUF.js.map} +1 -1
- package/dist/{chunk-OJAHIPPP.js → chunk-HGWD63IR.js} +3 -3
- package/dist/{chunk-OJAHIPPP.js.map → chunk-HGWD63IR.js.map} +1 -1
- package/dist/chunk-HKQOAEFY.js +1 -1
- package/dist/{chunk-PD3O6ZH4.js → chunk-JXOLZBXF.js} +19 -8
- package/dist/chunk-JXOLZBXF.js.map +1 -0
- package/dist/{chunk-CUXQZRDI.js → chunk-JZCONCJS.js} +13 -3
- package/dist/chunk-JZCONCJS.js.map +1 -0
- package/dist/{chunk-TDPJYCNI.js → chunk-KBT6UQNA.js} +14 -35
- package/dist/chunk-KBT6UQNA.js.map +1 -0
- package/dist/{chunk-VNH6R5EU.js → chunk-KR3GBSVA.js} +4 -6
- package/dist/chunk-KR3GBSVA.js.map +1 -0
- package/dist/{chunk-JWYBDNC6.js → chunk-KTK7LSKX.js} +7 -8
- package/dist/chunk-KTK7LSKX.js.map +1 -0
- package/dist/{chunk-X3VT5SSK.js → chunk-L3ZFNHVX.js} +153 -171
- package/dist/chunk-L3ZFNHVX.js.map +1 -0
- package/dist/{chunk-PB5VGXS5.js → chunk-LBOQJHFH.js} +3 -3
- package/dist/{chunk-PB5VGXS5.js.map → chunk-LBOQJHFH.js.map} +1 -1
- package/dist/{chunk-XCK62GVU.js → chunk-LZ2MHSYF.js} +8 -5
- package/dist/chunk-LZ2MHSYF.js.map +1 -0
- package/dist/{chunk-LHZJ2GJU.js → chunk-MHRSK2QC.js} +8 -6
- package/dist/chunk-MHRSK2QC.js.map +1 -0
- package/dist/{chunk-JIXINKUJ.js → chunk-N742SARE.js} +8 -7
- package/dist/chunk-N742SARE.js.map +1 -0
- package/dist/{chunk-3XOHSE3X.js → chunk-NA6EVQ6T.js} +3 -3
- package/dist/{chunk-3XOHSE3X.js.map → chunk-NA6EVQ6T.js.map} +1 -1
- package/dist/{chunk-6ROGWFQ2.js → chunk-NKLKTAUP.js} +3 -3
- package/dist/{chunk-6ROGWFQ2.js.map → chunk-NKLKTAUP.js.map} +1 -1
- package/dist/{chunk-S6HO7HUY.js → chunk-OSD63E6O.js} +15 -19
- package/dist/chunk-OSD63E6O.js.map +1 -0
- package/dist/{chunk-QDJ5PZPP.js → chunk-PHA7SLBY.js} +3 -3
- package/dist/chunk-PHA7SLBY.js.map +1 -0
- package/dist/{chunk-6NXZWLSM.js → chunk-S4BF3Z6O.js} +4 -4
- package/dist/{chunk-6NXZWLSM.js.map → chunk-S4BF3Z6O.js.map} +1 -1
- package/dist/{chunk-C65SCJD6.js → chunk-SK6YMTMA.js} +5 -12
- package/dist/chunk-SK6YMTMA.js.map +1 -0
- package/dist/{chunk-DBPLQZJ2.js → chunk-SSISBOLO.js} +75 -22
- package/dist/chunk-SSISBOLO.js.map +1 -0
- package/dist/{chunk-LWYZCSX4.js → chunk-UBJK5623.js} +12 -11
- package/dist/chunk-UBJK5623.js.map +1 -0
- package/dist/{chunk-74AF6PO2.js → chunk-UEQ3NEVL.js} +48 -12
- package/dist/chunk-UEQ3NEVL.js.map +1 -0
- package/dist/{chunk-A4MYCEGM.js → chunk-UHHCUCEE.js} +19 -8
- package/dist/chunk-UHHCUCEE.js.map +1 -0
- package/dist/{chunk-X7JN7WPF.js → chunk-UIPDAD62.js} +3 -3
- package/dist/chunk-UIPDAD62.js.map +1 -0
- package/dist/{chunk-YUACN5GJ.js → chunk-UPBKLI62.js} +20 -13
- package/dist/chunk-UPBKLI62.js.map +1 -0
- package/dist/{chunk-DIUOGEL3.js → chunk-UUXSTLOY.js} +171 -190
- package/dist/chunk-UUXSTLOY.js.map +1 -0
- package/dist/{chunk-HSMO2BR4.js → chunk-VNB7ZHCZ.js} +4 -13
- package/dist/chunk-VNB7ZHCZ.js.map +1 -0
- package/dist/{chunk-TQEMGWZ2.js → chunk-W4RYNHAG.js} +3 -3
- package/dist/{chunk-TQEMGWZ2.js.map → chunk-W4RYNHAG.js.map} +1 -1
- package/dist/{chunk-PRDJLQLB.js → chunk-XNV3YAJK.js} +5 -5
- package/dist/chunk-XNV3YAJK.js.map +1 -0
- package/dist/{chunk-I7HJBHQU.js → chunk-Y3PVWMUN.js} +7 -7
- package/dist/chunk-Y3PVWMUN.js.map +1 -0
- package/dist/clipboard/index.js +2 -2
- package/dist/collapse/index.js +2 -2
- package/dist/color-picker/index.d.ts +3 -3
- package/dist/color-picker/index.d.ts.map +1 -1
- package/dist/color-picker/index.js +3 -2
- package/dist/context-menu/index.d.ts +4 -6
- package/dist/context-menu/index.d.ts.map +1 -1
- package/dist/context-menu/index.js +2 -2
- package/dist/date-picker/PickerWrapper.d.ts +3 -3
- package/dist/date-picker/PickerWrapper.d.ts.map +1 -1
- package/dist/date-picker/index.d.ts.map +1 -1
- package/dist/date-picker/index.js +3 -2
- package/dist/descriptions/index.js +1 -1
- package/dist/dropdown/index.js +3 -3
- package/dist/hooks/useControllable.d.ts +9 -2
- package/dist/hooks/useControllable.d.ts.map +1 -1
- package/dist/hooks/useRipple.d.ts +0 -6
- package/dist/hooks/useRipple.d.ts.map +1 -1
- package/dist/index.js +47 -47
- package/dist/input/index.js +1 -1
- package/dist/input-password/index.js +2 -2
- package/dist/mentions/index.d.ts.map +1 -1
- package/dist/mentions/index.js +2 -1
- package/dist/menubar/index.js +2 -2
- package/dist/multi-select/index.d.ts.map +1 -1
- package/dist/multi-select/index.js +4 -4
- package/dist/navigation-menu/index.d.ts.map +1 -1
- package/dist/navigation-menu/index.js +1 -1
- package/dist/number-input/index.d.ts.map +1 -1
- package/dist/number-input/index.js +3 -3
- package/dist/pagination/index.js +2 -2
- package/dist/popover/index.d.ts +16 -1
- package/dist/popover/index.d.ts.map +1 -1
- package/dist/popover/index.js +1 -1
- package/dist/qr-code/index.d.ts +3 -3
- package/dist/qr-code/index.d.ts.map +1 -1
- package/dist/qr-code/index.js +1 -1
- package/dist/radio/index.d.ts.map +1 -1
- package/dist/radio/index.js +1 -1
- package/dist/rating/index.js +2 -2
- package/dist/resizable/index.d.ts +4 -3
- package/dist/resizable/index.d.ts.map +1 -1
- package/dist/resizable/index.js +1 -1
- package/dist/result/index.d.ts.map +1 -1
- package/dist/result/index.js +1 -1
- package/dist/select/index.d.ts.map +1 -1
- package/dist/select/index.js +4 -4
- package/dist/skeleton/index.d.ts +3 -3
- package/dist/skeleton/index.d.ts.map +1 -1
- package/dist/skeleton/index.js +1 -1
- package/dist/table/index.d.ts.map +1 -1
- package/dist/table/index.js +8 -8
- package/dist/table/types.d.ts +16 -2
- package/dist/table/types.d.ts.map +1 -1
- package/dist/tags-input/index.d.ts.map +1 -1
- package/dist/tags-input/index.js +2 -1
- package/dist/textarea/index.d.ts +3 -3
- package/dist/textarea/index.d.ts.map +1 -1
- package/dist/textarea/index.js +1 -1
- package/dist/theme/ThemeProvider.d.ts +18 -2
- package/dist/theme/ThemeProvider.d.ts.map +1 -1
- package/dist/theme/index.d.ts +1 -1
- package/dist/theme/index.d.ts.map +1 -1
- package/dist/theme/index.js +1 -1
- package/dist/timeline/index.d.ts.map +1 -1
- package/dist/timeline/index.js +1 -1
- package/dist/toggle/index.d.ts.map +1 -1
- package/dist/toggle/index.js +2 -2
- package/dist/toggle-group/index.d.ts.map +1 -1
- package/dist/toggle-group/index.js +2 -2
- package/dist/tour/index.d.ts.map +1 -1
- package/dist/tour/index.js +1 -1
- package/dist/transfer/index.js +2 -2
- package/dist/tree-select/index.js +2 -2
- package/dist/typography/index.d.ts.map +1 -1
- package/dist/typography/index.js +1 -1
- package/dist/upload/index.d.ts.map +1 -1
- package/dist/upload/index.js +2 -2
- package/package.json +4 -3
- package/styles/datepicker.css +126 -0
- package/styles/global.css +1 -113
- package/dist/chunk-3Z7RLVWD.js.map +0 -1
- package/dist/chunk-4TEZWGX7.js.map +0 -1
- package/dist/chunk-5YEC6FDN.js.map +0 -1
- package/dist/chunk-74AF6PO2.js.map +0 -1
- package/dist/chunk-75N6T3IS.js.map +0 -1
- package/dist/chunk-7RT65ZGV.js.map +0 -1
- package/dist/chunk-A4MYCEGM.js.map +0 -1
- package/dist/chunk-C65SCJD6.js.map +0 -1
- package/dist/chunk-CUXQZRDI.js.map +0 -1
- package/dist/chunk-DBPLQZJ2.js.map +0 -1
- package/dist/chunk-DIUOGEL3.js.map +0 -1
- package/dist/chunk-FY2TZ2NT.js.map +0 -1
- package/dist/chunk-HSMO2BR4.js.map +0 -1
- package/dist/chunk-I7HJBHQU.js.map +0 -1
- package/dist/chunk-JIXINKUJ.js.map +0 -1
- package/dist/chunk-JWYBDNC6.js.map +0 -1
- package/dist/chunk-LHZJ2GJU.js.map +0 -1
- package/dist/chunk-LWYZCSX4.js.map +0 -1
- package/dist/chunk-NPK4ESMA.js.map +0 -1
- package/dist/chunk-PD3O6ZH4.js.map +0 -1
- package/dist/chunk-PQOIW5CM.js +0 -27
- package/dist/chunk-PQOIW5CM.js.map +0 -1
- package/dist/chunk-PRDJLQLB.js.map +0 -1
- package/dist/chunk-QDJ5PZPP.js.map +0 -1
- package/dist/chunk-ROQGBDET.js.map +0 -1
- package/dist/chunk-S6HO7HUY.js.map +0 -1
- package/dist/chunk-TDPJYCNI.js.map +0 -1
- package/dist/chunk-UFC3RGIN.js.map +0 -1
- package/dist/chunk-UFYG3HKL.js.map +0 -1
- package/dist/chunk-VNH6R5EU.js.map +0 -1
- package/dist/chunk-X3VT5SSK.js.map +0 -1
- package/dist/chunk-X7JN7WPF.js.map +0 -1
- package/dist/chunk-XAM5EKOS.js.map +0 -1
- package/dist/chunk-XCK62GVU.js.map +0 -1
- package/dist/chunk-YUACN5GJ.js.map +0 -1
- package/dist/chunk-Z3DIBMBQ.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/alert/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/alert/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AA4BzC,QAAA,MAAM,KAAK,wCA2FV,CAAA;AAID,mBAAmB,SAAS,CAAA;AAC5B,eAAe,KAAK,CAAA"}
|
package/dist/alert/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/autocomplete/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/autocomplete/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,OAAO,KAAK,EAAsB,iBAAiB,EAAE,MAAM,SAAS,CAAA;AA0CpE,QAAA,MAAM,YAAY,+CAkQjB,CAAA;AAID,mBAAmB,SAAS,CAAA;AAC5B,eAAe,YAAY,CAAA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
export { autocomplete_default as default } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { autocomplete_default as default } from '../chunk-KTK7LSKX.js';
|
|
2
|
+
import '../chunk-CB7YOZWV.js';
|
|
3
|
+
import '../chunk-6XXAZ6P2.js';
|
|
3
4
|
import '../chunk-G6QIIWKU.js';
|
|
4
5
|
import '../chunk-RAS6HUEI.js';
|
|
5
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/avatar/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/avatar/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAInD,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAc,MAAM,SAAS,CAAC;AAyFzE,QAAA,MAAM,MAAM,yCA6HX,CAAC;AAIF,QAAA,MAAM,WAAW,8CA+EhB,CAAC;AAIF,mBAAmB,SAAS,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;AAC/B,eAAe,MAAM,CAAC"}
|
package/dist/avatar/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { Avatar, AvatarGroup, avatar_default as default } from '../chunk-
|
|
1
|
+
export { Avatar, AvatarGroup, avatar_default as default } from '../chunk-VNB7ZHCZ.js';
|
|
2
2
|
import '../chunk-G6QIIWKU.js';
|
|
3
3
|
import '../chunk-RAS6HUEI.js';
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export { BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, breadcrumbs_default as default } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, breadcrumbs_default as default } from '../chunk-NKLKTAUP.js';
|
|
2
|
+
import '../chunk-S4BF3Z6O.js';
|
|
3
3
|
import '../chunk-NZHKNUGE.js';
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
4
|
+
import '../chunk-64OCJYSH.js';
|
|
5
|
+
import '../chunk-6XXAZ6P2.js';
|
|
6
6
|
import '../chunk-G6QIIWKU.js';
|
|
7
7
|
import '../chunk-RAS6HUEI.js';
|
|
8
8
|
//# sourceMappingURL=index.js.map
|
package/dist/button/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { buttonVariants, button_default as default } from '../chunk-
|
|
1
|
+
export { buttonVariants, button_default as default } from '../chunk-4QLYRAW2.js';
|
|
2
2
|
import '../chunk-RRPMZYVN.js';
|
|
3
|
-
import '../chunk-
|
|
3
|
+
import '../chunk-64OCJYSH.js';
|
|
4
4
|
import '../chunk-G6QIIWKU.js';
|
|
5
5
|
import '../chunk-RAS6HUEI.js';
|
|
6
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/calendar/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/calendar/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AA8F5C,QAAA,MAAM,QAAQ,2CA2Kb,CAAA;AAID,mBAAmB,SAAS,CAAA;AAC5B,eAAe,QAAQ,CAAA"}
|
package/dist/calendar/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export { calendar_default as default } from '../chunk-
|
|
1
|
+
export { calendar_default as default } from '../chunk-6CMHCCDO.js';
|
|
2
|
+
import '../chunk-CB7YOZWV.js';
|
|
2
3
|
import '../chunk-RAS6HUEI.js';
|
|
3
4
|
//# sourceMappingURL=index.js.map
|
|
4
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cascader/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,KAAK,EAAkB,aAAa,EAAgB,MAAM,SAAS,CAAC;AAiC3E,QAAA,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cascader/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,KAAK,EAAkB,aAAa,EAAgB,MAAM,SAAS,CAAC;AAiC3E,QAAA,MAAM,QAAQ,2CAkXb,CAAC;AAIF,mBAAmB,SAAS,CAAC;AAC7B,eAAe,QAAQ,CAAC"}
|
package/dist/cascader/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/checkbox/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAIvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/checkbox/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAIvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAyD7C,QAAA,MAAM,QAAQ,2CAuIb,CAAC;AAIF,mBAAmB,SAAS,CAAC;AAC7B,eAAe,QAAQ,CAAC"}
|
package/dist/checkbox/index.js
CHANGED
package/dist/checkbox/types.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { ButtonColor, ComponentSize } from '../types';
|
|
2
2
|
export type CheckboxColor = ButtonColor;
|
|
3
3
|
export type CheckboxSize = ComponentSize;
|
|
4
|
+
export type CheckboxVariant = 'solid' | 'outline' | 'soft';
|
|
4
5
|
export interface CheckboxClassNames {
|
|
5
6
|
root?: string;
|
|
6
7
|
checkbox?: string;
|
|
@@ -9,6 +10,7 @@ export interface CheckboxClassNames {
|
|
|
9
10
|
description?: string;
|
|
10
11
|
}
|
|
11
12
|
export interface CheckboxProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size' | 'type'> {
|
|
13
|
+
variant?: CheckboxVariant;
|
|
12
14
|
color?: CheckboxColor;
|
|
13
15
|
size?: CheckboxSize;
|
|
14
16
|
label?: React.ReactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/checkbox/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAE1D,MAAM,MAAM,aAAa,GAAG,WAAW,CAAA;AAEvC,MAAM,MAAM,YAAY,GAAG,aAAa,CAAA;AAExC,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,aACf,SAAQ,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1E,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB,IAAI,CAAC,EAAE,YAAY,CAAA;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IACxB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;IACjC,UAAU,CAAC,EAAE,kBAAkB,CAAA;CAChC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/checkbox/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAE1D,MAAM,MAAM,aAAa,GAAG,WAAW,CAAA;AAEvC,MAAM,MAAM,YAAY,GAAG,aAAa,CAAA;AAExC,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAA;AAE1D,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,aACf,SAAQ,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1E,OAAO,CAAC,EAAE,eAAe,CAAA;IACzB,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB,IAAI,CAAC,EAAE,YAAY,CAAA;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IACxB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;IACjC,UAAU,CAAC,EAAE,kBAAkB,CAAA;CAChC"}
|
|
@@ -1,23 +1,43 @@
|
|
|
1
1
|
import { useMenuNavigation } from './chunk-NZHKNUGE.js';
|
|
2
|
-
import { useRipple, RippleContainer } from './chunk-
|
|
2
|
+
import { useRipple, RippleContainer } from './chunk-64OCJYSH.js';
|
|
3
3
|
import { colorVars } from './chunk-G6QIIWKU.js';
|
|
4
4
|
import { cn } from './chunk-RAS6HUEI.js';
|
|
5
5
|
import * as PopoverPrimitive from '@radix-ui/react-popover';
|
|
6
|
-
import {
|
|
6
|
+
import React, { useState, useCallback, useRef, useMemo, useEffect } from 'react';
|
|
7
7
|
import { ChevronRight } from 'lucide-react';
|
|
8
|
-
import {
|
|
8
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
9
9
|
|
|
10
10
|
var ContextMenuItemDiv = ({ children, disabled, className, ...props }) => {
|
|
11
11
|
const { ripples, onPointerDown, onAnimationEnd } = useRipple(!disabled);
|
|
12
|
-
return /* @__PURE__ */ jsxs(
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
return /* @__PURE__ */ jsxs(
|
|
13
|
+
"div",
|
|
14
|
+
{
|
|
15
|
+
className: cn(className, "relative overflow-hidden"),
|
|
16
|
+
onPointerDown,
|
|
17
|
+
...props,
|
|
18
|
+
children: [
|
|
19
|
+
children,
|
|
20
|
+
/* @__PURE__ */ jsx(RippleContainer, { ripples, onAnimationEnd })
|
|
21
|
+
]
|
|
22
|
+
}
|
|
23
|
+
);
|
|
16
24
|
};
|
|
17
|
-
var ContextMenuSubMenu = ({
|
|
25
|
+
var ContextMenuSubMenu = ({
|
|
26
|
+
item,
|
|
27
|
+
onClose,
|
|
28
|
+
level,
|
|
29
|
+
classNames,
|
|
30
|
+
color = "default",
|
|
31
|
+
openDelay = 200,
|
|
32
|
+
closeDelay = 300
|
|
33
|
+
}) => {
|
|
18
34
|
const [isOpen, setIsOpen] = useState(false);
|
|
19
|
-
const hoverTimeoutRef = useRef(
|
|
20
|
-
|
|
35
|
+
const hoverTimeoutRef = useRef(
|
|
36
|
+
void 0
|
|
37
|
+
);
|
|
38
|
+
const leaveTimeoutRef = useRef(
|
|
39
|
+
void 0
|
|
40
|
+
);
|
|
21
41
|
const handleMouseEnter = useCallback(() => {
|
|
22
42
|
if (item.disabled) return;
|
|
23
43
|
if (leaveTimeoutRef.current) {
|
|
@@ -93,10 +113,7 @@ var ContextMenuSubMenu = ({ item, onClose, level, classNames, color = "default",
|
|
|
93
113
|
/* @__PURE__ */ jsx(
|
|
94
114
|
"span",
|
|
95
115
|
{
|
|
96
|
-
className: cn(
|
|
97
|
-
"contextMenu_itemLabel",
|
|
98
|
-
classNames?.itemLabel
|
|
99
|
-
),
|
|
116
|
+
className: cn("contextMenu_itemLabel", classNames?.itemLabel),
|
|
100
117
|
children: item.label
|
|
101
118
|
}
|
|
102
119
|
)
|
|
@@ -113,8 +130,8 @@ var ContextMenuSubMenu = ({ item, onClose, level, classNames, color = "default",
|
|
|
113
130
|
{
|
|
114
131
|
side: "right",
|
|
115
132
|
align: "start",
|
|
116
|
-
sideOffset:
|
|
117
|
-
alignOffset: -
|
|
133
|
+
sideOffset: 4,
|
|
134
|
+
alignOffset: -4,
|
|
118
135
|
onMouseEnter: handleMouseEnter,
|
|
119
136
|
onMouseLeave: handleMouseLeave,
|
|
120
137
|
className: cn(
|
|
@@ -125,10 +142,19 @@ var ContextMenuSubMenu = ({ item, onClose, level, classNames, color = "default",
|
|
|
125
142
|
"data-[side=left]:slide-in-from-right-2",
|
|
126
143
|
"data-[side=right]:slide-in-from-left-2",
|
|
127
144
|
"data-[side=top]:slide-in-from-bottom-2",
|
|
128
|
-
"z-
|
|
145
|
+
"z-(--z-popover)",
|
|
129
146
|
classNames?.submenu
|
|
130
147
|
),
|
|
131
|
-
children: /* @__PURE__ */ jsx(
|
|
148
|
+
children: /* @__PURE__ */ jsx(
|
|
149
|
+
ContextMenuContent,
|
|
150
|
+
{
|
|
151
|
+
items: item.children,
|
|
152
|
+
onClose,
|
|
153
|
+
level: level + 1,
|
|
154
|
+
classNames,
|
|
155
|
+
color
|
|
156
|
+
}
|
|
157
|
+
)
|
|
132
158
|
}
|
|
133
159
|
) })
|
|
134
160
|
] });
|
|
@@ -161,12 +187,14 @@ var ContextMenuContent = ({
|
|
|
161
187
|
},
|
|
162
188
|
[items, onClose]
|
|
163
189
|
);
|
|
164
|
-
const { highlightedIndex, handleKeyDown, highlightFirst } = useMenuNavigation(
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
190
|
+
const { highlightedIndex, handleKeyDown, highlightFirst } = useMenuNavigation(
|
|
191
|
+
{
|
|
192
|
+
enabledIndices,
|
|
193
|
+
isOpen: true,
|
|
194
|
+
onClose,
|
|
195
|
+
onSelect: onMenuSelect
|
|
196
|
+
}
|
|
197
|
+
);
|
|
170
198
|
useEffect(() => {
|
|
171
199
|
highlightFirst();
|
|
172
200
|
}, [highlightFirst]);
|
|
@@ -217,7 +245,19 @@ var ContextMenuContent = ({
|
|
|
217
245
|
);
|
|
218
246
|
}
|
|
219
247
|
if (item.children) {
|
|
220
|
-
return /* @__PURE__ */ jsx(
|
|
248
|
+
return /* @__PURE__ */ jsx(
|
|
249
|
+
ContextMenuSubMenu,
|
|
250
|
+
{
|
|
251
|
+
item,
|
|
252
|
+
onClose,
|
|
253
|
+
level,
|
|
254
|
+
classNames,
|
|
255
|
+
color,
|
|
256
|
+
openDelay: submenuOpenDelay,
|
|
257
|
+
closeDelay: submenuCloseDelay
|
|
258
|
+
},
|
|
259
|
+
item.key
|
|
260
|
+
);
|
|
221
261
|
}
|
|
222
262
|
const isFocused = highlightedIndex === index;
|
|
223
263
|
return /* @__PURE__ */ jsxs(
|
|
@@ -256,16 +296,20 @@ var ContextMenuContent = ({
|
|
|
256
296
|
/* @__PURE__ */ jsx(
|
|
257
297
|
"span",
|
|
258
298
|
{
|
|
259
|
-
className: cn(
|
|
260
|
-
"contextMenu_itemLabel",
|
|
261
|
-
classNames?.itemLabel
|
|
262
|
-
),
|
|
299
|
+
className: cn("contextMenu_itemLabel", classNames?.itemLabel),
|
|
263
300
|
"data-slot": "item-label",
|
|
264
301
|
children: item.label
|
|
265
302
|
}
|
|
266
303
|
)
|
|
267
304
|
] }),
|
|
268
|
-
item.shortcut && /* @__PURE__ */ jsx(
|
|
305
|
+
item.shortcut && /* @__PURE__ */ jsx(
|
|
306
|
+
"span",
|
|
307
|
+
{
|
|
308
|
+
className: "text-xs text-text-secondary shrink-0",
|
|
309
|
+
"data-slot": "shortcut",
|
|
310
|
+
children: item.shortcut
|
|
311
|
+
}
|
|
312
|
+
)
|
|
269
313
|
]
|
|
270
314
|
},
|
|
271
315
|
item.key
|
|
@@ -275,98 +319,114 @@ var ContextMenuContent = ({
|
|
|
275
319
|
);
|
|
276
320
|
};
|
|
277
321
|
ContextMenuContent.displayName = "ContextMenuContent";
|
|
278
|
-
var ContextMenu = (
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
onOpenChange?.(open);
|
|
300
|
-
},
|
|
301
|
-
[isControlled, onOpenChange]
|
|
302
|
-
);
|
|
303
|
-
const handleContextMenu = useCallback(
|
|
304
|
-
(e) => {
|
|
305
|
-
if (disabled) return;
|
|
306
|
-
e.preventDefault();
|
|
307
|
-
e.stopPropagation();
|
|
308
|
-
setPosition({
|
|
309
|
-
width: 0,
|
|
310
|
-
height: 0,
|
|
311
|
-
x: e.clientX,
|
|
312
|
-
y: e.clientY,
|
|
313
|
-
top: e.clientY,
|
|
314
|
-
left: e.clientX,
|
|
315
|
-
right: e.clientX,
|
|
316
|
-
bottom: e.clientY,
|
|
317
|
-
toJSON: () => {
|
|
322
|
+
var ContextMenu = React.memo(
|
|
323
|
+
({
|
|
324
|
+
children,
|
|
325
|
+
items,
|
|
326
|
+
className,
|
|
327
|
+
classNames,
|
|
328
|
+
disabled = false,
|
|
329
|
+
onOpenChange,
|
|
330
|
+
open: controlledOpen,
|
|
331
|
+
color = "default",
|
|
332
|
+
submenuOpenDelay,
|
|
333
|
+
submenuCloseDelay
|
|
334
|
+
}) => {
|
|
335
|
+
const [internalOpen, setInternalOpen] = useState(false);
|
|
336
|
+
const [position, setPosition] = useState(null);
|
|
337
|
+
const isControlled = controlledOpen !== void 0;
|
|
338
|
+
const isOpen = isControlled ? controlledOpen : internalOpen;
|
|
339
|
+
const setOpen = useCallback(
|
|
340
|
+
(open) => {
|
|
341
|
+
if (!isControlled) {
|
|
342
|
+
setInternalOpen(open);
|
|
318
343
|
}
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
344
|
+
onOpenChange?.(open);
|
|
345
|
+
},
|
|
346
|
+
[isControlled, onOpenChange]
|
|
347
|
+
);
|
|
348
|
+
const handleContextMenu = useCallback(
|
|
349
|
+
(e) => {
|
|
350
|
+
if (disabled) return;
|
|
351
|
+
e.preventDefault();
|
|
352
|
+
e.stopPropagation();
|
|
353
|
+
setPosition({
|
|
354
|
+
width: 0,
|
|
355
|
+
height: 0,
|
|
356
|
+
x: e.clientX,
|
|
357
|
+
y: e.clientY,
|
|
358
|
+
top: e.clientY,
|
|
359
|
+
left: e.clientX,
|
|
360
|
+
right: e.clientX,
|
|
361
|
+
bottom: e.clientY,
|
|
362
|
+
toJSON: () => {
|
|
363
|
+
}
|
|
364
|
+
});
|
|
365
|
+
setOpen(true);
|
|
366
|
+
},
|
|
367
|
+
[disabled, setOpen]
|
|
368
|
+
);
|
|
369
|
+
const handleClose = useCallback(() => {
|
|
370
|
+
setOpen(false);
|
|
371
|
+
setPosition(null);
|
|
372
|
+
}, [setOpen]);
|
|
373
|
+
return /* @__PURE__ */ jsxs(PopoverPrimitive.Root, { open: isOpen, onOpenChange: setOpen, children: [
|
|
374
|
+
position && /* @__PURE__ */ jsx(
|
|
375
|
+
PopoverPrimitive.Anchor,
|
|
376
|
+
{
|
|
377
|
+
virtualRef: {
|
|
378
|
+
current: {
|
|
379
|
+
getBoundingClientRect: () => position
|
|
380
|
+
}
|
|
335
381
|
}
|
|
336
382
|
}
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
383
|
+
),
|
|
384
|
+
/* @__PURE__ */ jsx(
|
|
385
|
+
"div",
|
|
386
|
+
{
|
|
387
|
+
onContextMenu: handleContextMenu,
|
|
388
|
+
className: cn(
|
|
389
|
+
"contextMenu_root inline-block",
|
|
390
|
+
className,
|
|
391
|
+
classNames?.root
|
|
392
|
+
),
|
|
393
|
+
role: "presentation",
|
|
394
|
+
"data-slot": "root",
|
|
395
|
+
children
|
|
396
|
+
}
|
|
397
|
+
),
|
|
398
|
+
/* @__PURE__ */ jsx(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx(
|
|
399
|
+
PopoverPrimitive.Content,
|
|
400
|
+
{
|
|
401
|
+
side: "bottom",
|
|
402
|
+
align: "start",
|
|
403
|
+
sideOffset: 0,
|
|
404
|
+
alignOffset: 0,
|
|
405
|
+
onOpenAutoFocus: (e) => e.preventDefault(),
|
|
406
|
+
onCloseAutoFocus: (e) => e.preventDefault(),
|
|
407
|
+
onEscapeKeyDown: handleClose,
|
|
408
|
+
onPointerDownOutside: handleClose,
|
|
409
|
+
onInteractOutside: handleClose,
|
|
410
|
+
className: "z-[var(--z-popover)]",
|
|
411
|
+
children: /* @__PURE__ */ jsx(
|
|
412
|
+
ContextMenuContent,
|
|
413
|
+
{
|
|
414
|
+
items,
|
|
415
|
+
onClose: handleClose,
|
|
416
|
+
classNames,
|
|
417
|
+
color,
|
|
418
|
+
submenuOpenDelay,
|
|
419
|
+
submenuCloseDelay
|
|
420
|
+
}
|
|
421
|
+
)
|
|
422
|
+
}
|
|
423
|
+
) })
|
|
424
|
+
] });
|
|
425
|
+
}
|
|
426
|
+
);
|
|
367
427
|
ContextMenu.displayName = "ContextMenu";
|
|
368
428
|
var context_menu_default = ContextMenu;
|
|
369
429
|
|
|
370
430
|
export { ContextMenu, ContextMenuContent, context_menu_default };
|
|
371
|
-
//# sourceMappingURL=chunk-
|
|
372
|
-
//# sourceMappingURL=chunk-
|
|
431
|
+
//# sourceMappingURL=chunk-3K4GIXFA.js.map
|
|
432
|
+
//# sourceMappingURL=chunk-3K4GIXFA.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/context-menu/index.tsx"],"names":[],"mappings":"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","file":"chunk-3K4GIXFA.js","sourcesContent":["\"use client\";\n\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\";\nimport React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\n\nimport { ChevronRight } from \"lucide-react\";\n\nimport { useRipple, RippleContainer } from \"../hooks/useRipple\";\nimport { useMenuNavigation } from \"../hooks/useMenuNavigation\";\nimport { cn } from \"../utils\";\nimport { colorVars } from \"../variants\";\nimport type {\n ContextMenuContentProps,\n ContextMenuProps,\n ContextMenuSubMenuProps,\n} from \"./types\";\n\nconst ContextMenuItemDiv: React.FC<\n React.HTMLAttributes<HTMLDivElement> & {\n children: React.ReactNode;\n disabled?: boolean;\n }\n> = ({ children, disabled, className, ...props }) => {\n const { ripples, onPointerDown, onAnimationEnd } = useRipple(!disabled);\n return (\n <div\n className={cn(className, \"relative overflow-hidden\")}\n onPointerDown={onPointerDown}\n {...props}\n >\n {children}\n <RippleContainer ripples={ripples} onAnimationEnd={onAnimationEnd} />\n </div>\n );\n};\n\n/**\n * Submenu component based on Popover\n */\nconst ContextMenuSubMenu = ({\n item,\n onClose,\n level,\n classNames,\n color = \"default\",\n openDelay = 200,\n closeDelay = 300,\n}: ContextMenuSubMenuProps) => {\n const [isOpen, setIsOpen] = useState(false);\n const hoverTimeoutRef = useRef<ReturnType<typeof setTimeout> | undefined>(\n undefined,\n );\n const leaveTimeoutRef = useRef<ReturnType<typeof setTimeout> | undefined>(\n undefined,\n );\n\n const handleMouseEnter = useCallback(() => {\n if (item.disabled) return;\n\n if (leaveTimeoutRef.current) {\n clearTimeout(leaveTimeoutRef.current);\n }\n\n hoverTimeoutRef.current = setTimeout(() => {\n setIsOpen(true);\n }, openDelay);\n }, [item.disabled, openDelay]);\n\n const handleMouseLeave = useCallback(() => {\n if (hoverTimeoutRef.current) {\n clearTimeout(hoverTimeoutRef.current);\n }\n\n leaveTimeoutRef.current = setTimeout(() => {\n setIsOpen(false);\n }, closeDelay);\n }, [closeDelay]);\n\n const handleClick = useCallback(\n (e: React.MouseEvent) => {\n if (!item.disabled && !item.children) {\n e.stopPropagation();\n item.onClick?.();\n onClose();\n }\n },\n [item, onClose],\n );\n\n useEffect(() => {\n return () => {\n if (hoverTimeoutRef.current) {\n clearTimeout(hoverTimeoutRef.current);\n }\n if (leaveTimeoutRef.current) {\n clearTimeout(leaveTimeoutRef.current);\n }\n };\n }, []);\n\n return (\n <PopoverPrimitive.Root open={isOpen} onOpenChange={setIsOpen}>\n <PopoverPrimitive.Trigger asChild>\n <div\n className=\"relative\"\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n role=\"menuitem\"\n aria-haspopup=\"true\"\n aria-expanded={isOpen}\n aria-disabled={item.disabled}\n tabIndex={-1}\n data-slot=\"submenu-trigger\"\n >\n <ContextMenuItemDiv\n disabled={!!item.disabled}\n className={cn(\n \"contextMenu_item flex items-center justify-between gap-3 px-3 py-2 text-sm cursor-pointer rounded-sm transition-colors mx-1\",\n item.disabled\n ? \"opacity-50 cursor-not-allowed\"\n : \"hover:bg-slot-10 hover:text-slot focus-visible:bg-slot-10 focus-visible:text-slot focus-visible:outline-none\",\n classNames?.item,\n )}\n onClick={handleClick}\n >\n <div className=\"flex items-center gap-2 flex-1\">\n {item.icon && (\n <span\n className={cn(\n \"contextMenu_itemIcon shrink-0 w-4 h-4\",\n classNames?.itemIcon,\n )}\n >\n {item.icon}\n </span>\n )}\n <span\n className={cn(\"contextMenu_itemLabel\", classNames?.itemLabel)}\n >\n {item.label}\n </span>\n </div>\n {item.children && (\n <ChevronRight className=\"w-4 h-4 text-text-secondary shrink-0\" />\n )}\n {item.shortcut && (\n <span className=\"text-xs text-text-secondary shrink-0\">\n {item.shortcut}\n </span>\n )}\n </ContextMenuItemDiv>\n </div>\n </PopoverPrimitive.Trigger>\n\n {item.children && (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n side=\"right\"\n align=\"start\"\n sideOffset={4}\n alignOffset={-4}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n className={cn(\n \"data-[state=open]:animate-in data-[state=closed]:animate-out\",\n \"data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n \"data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95\",\n \"data-[side=bottom]:slide-in-from-top-2\",\n \"data-[side=left]:slide-in-from-right-2\",\n \"data-[side=right]:slide-in-from-left-2\",\n \"data-[side=top]:slide-in-from-bottom-2\",\n \"z-(--z-popover)\",\n classNames?.submenu,\n )}\n >\n <ContextMenuContent\n items={item.children}\n onClose={onClose}\n level={level + 1}\n classNames={classNames}\n color={color}\n />\n </PopoverPrimitive.Content>\n </PopoverPrimitive.Portal>\n )}\n </PopoverPrimitive.Root>\n );\n};\n\nContextMenuSubMenu.displayName = \"ContextMenuSubMenu\";\n\n/**\n * Context menu content component\n */\nconst ContextMenuContent = ({\n items,\n onClose,\n level = 0,\n className,\n classNames,\n style,\n color = \"default\",\n submenuOpenDelay,\n submenuCloseDelay,\n ...props\n}: ContextMenuContentProps) => {\n const menuRef = useRef<HTMLDivElement>(null);\n\n const enabledIndices = useMemo(\n () =>\n items\n .map((item, i) => (!item.separator && !item.disabled ? i : -1))\n .filter((i) => i !== -1),\n [items],\n );\n\n const onMenuSelect = useCallback(\n (index: number) => {\n const item = items[index];\n if (item && !item.children) {\n item.onClick?.();\n onClose();\n }\n },\n [items, onClose],\n );\n\n const { highlightedIndex, handleKeyDown, highlightFirst } = useMenuNavigation(\n {\n enabledIndices,\n isOpen: true,\n onClose,\n onSelect: onMenuSelect,\n },\n );\n\n // Highlight first item on mount\n useEffect(() => {\n highlightFirst();\n }, [highlightFirst]);\n\n // Document-level keyboard listener (menu is in a portal, no focus bubbling)\n useEffect(() => {\n const listener = (e: KeyboardEvent) => {\n if (e.key === \"ArrowLeft\" && level > 0) {\n e.preventDefault();\n e.stopImmediatePropagation();\n onClose();\n return;\n }\n handleKeyDown(e);\n e.stopImmediatePropagation();\n };\n document.addEventListener(\"keydown\", listener);\n return () => document.removeEventListener(\"keydown\", listener);\n }, [handleKeyDown, level, onClose]);\n\n return (\n <div\n ref={menuRef}\n className={cn(\n \"contextMenu_content min-w-[180px] rounded-md border border-border bg-background shadow-lg py-1\",\n colorVars[color],\n level === 0 && \"animate-in fade-in-0 zoom-in-95\",\n className,\n classNames?.content,\n )}\n style={style}\n role=\"menu\"\n aria-orientation=\"vertical\"\n tabIndex={-1}\n {...props}\n >\n {items.map((item, index) => {\n if (item.separator) {\n return (\n <div\n key={`separator-${index}`}\n className={cn(\n \"contextMenu_divider h-px bg-border my-1\",\n classNames?.divider,\n )}\n role=\"separator\"\n aria-orientation=\"horizontal\"\n data-slot=\"separator\"\n />\n );\n }\n\n if (item.children) {\n return (\n <ContextMenuSubMenu\n key={item.key}\n item={item}\n onClose={onClose}\n level={level}\n classNames={classNames}\n color={color}\n openDelay={submenuOpenDelay}\n closeDelay={submenuCloseDelay}\n />\n );\n }\n\n const isFocused = highlightedIndex === index;\n\n return (\n <ContextMenuItemDiv\n key={item.key}\n disabled={!!item.disabled}\n className={cn(\n \"contextMenu_item flex items-center justify-between gap-3 px-3 py-2 text-sm cursor-pointer rounded-sm transition-colors mx-1\",\n item.disabled\n ? \"opacity-50 cursor-not-allowed\"\n : \"hover:bg-slot-10 hover:text-slot focus-visible:bg-slot-10 focus-visible:text-slot focus-visible:outline-none\",\n isFocused && !item.disabled && \"bg-slot-10 text-slot\",\n classNames?.item,\n )}\n onClick={() => {\n if (!item.disabled) {\n item.onClick?.();\n onClose();\n }\n }}\n role=\"menuitem\"\n tabIndex={-1}\n aria-disabled={item.disabled}\n data-slot=\"item\"\n >\n <div className=\"flex items-center gap-2 flex-1\">\n {item.icon && (\n <span\n className={cn(\n \"contextMenu_itemIcon shrink-0 w-4 h-4\",\n classNames?.itemIcon,\n )}\n data-slot=\"item-icon\"\n >\n {item.icon}\n </span>\n )}\n <span\n className={cn(\"contextMenu_itemLabel\", classNames?.itemLabel)}\n data-slot=\"item-label\"\n >\n {item.label}\n </span>\n </div>\n {item.shortcut && (\n <span\n className=\"text-xs text-text-secondary shrink-0\"\n data-slot=\"shortcut\"\n >\n {item.shortcut}\n </span>\n )}\n </ContextMenuItemDiv>\n );\n })}\n </div>\n );\n};\n\nContextMenuContent.displayName = \"ContextMenuContent\";\n\n/**\n * ContextMenu component based on Popover\n */\nconst ContextMenu = React.memo(\n ({\n children,\n items,\n className,\n classNames,\n disabled = false,\n onOpenChange,\n open: controlledOpen,\n color = \"default\",\n submenuOpenDelay,\n submenuCloseDelay,\n }: ContextMenuProps) => {\n const [internalOpen, setInternalOpen] = useState(false);\n const [position, setPosition] = useState<DOMRect | null>(null);\n\n const isControlled = controlledOpen !== undefined;\n const isOpen = isControlled ? controlledOpen : internalOpen;\n\n const setOpen = useCallback(\n (open: boolean) => {\n if (!isControlled) {\n setInternalOpen(open);\n }\n onOpenChange?.(open);\n },\n [isControlled, onOpenChange],\n );\n\n const handleContextMenu = useCallback(\n (e: React.MouseEvent) => {\n if (disabled) return;\n\n e.preventDefault();\n e.stopPropagation();\n\n setPosition({\n width: 0,\n height: 0,\n x: e.clientX,\n y: e.clientY,\n top: e.clientY,\n left: e.clientX,\n right: e.clientX,\n bottom: e.clientY,\n toJSON: () => {},\n } as DOMRect);\n\n setOpen(true);\n },\n [disabled, setOpen],\n );\n\n const handleClose = useCallback(() => {\n setOpen(false);\n setPosition(null);\n }, [setOpen]);\n\n return (\n <PopoverPrimitive.Root open={isOpen} onOpenChange={setOpen}>\n {position && (\n <PopoverPrimitive.Anchor\n virtualRef={{\n current: {\n getBoundingClientRect: () => position,\n },\n }}\n />\n )}\n <div\n onContextMenu={handleContextMenu}\n className={cn(\n \"contextMenu_root inline-block\",\n className,\n classNames?.root,\n )}\n role=\"presentation\"\n data-slot=\"root\"\n >\n {children}\n </div>\n\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n side=\"bottom\"\n align=\"start\"\n sideOffset={0}\n alignOffset={0}\n onOpenAutoFocus={(e: Event) => e.preventDefault()}\n onCloseAutoFocus={(e: Event) => e.preventDefault()}\n onEscapeKeyDown={handleClose}\n onPointerDownOutside={handleClose}\n onInteractOutside={handleClose}\n className=\"z-[var(--z-popover)]\"\n >\n <ContextMenuContent\n items={items}\n onClose={handleClose}\n classNames={classNames}\n color={color}\n submenuOpenDelay={submenuOpenDelay}\n submenuCloseDelay={submenuCloseDelay}\n />\n </PopoverPrimitive.Content>\n </PopoverPrimitive.Portal>\n </PopoverPrimitive.Root>\n );\n },\n);\n\nContextMenu.displayName = \"ContextMenu\";\n\nexport type * from \"./types\";\nexport { ContextMenu, ContextMenuContent };\nexport default ContextMenu;\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Spinner } from './chunk-RRPMZYVN.js';
|
|
2
|
-
import { useRipple, RippleContainer } from './chunk-
|
|
2
|
+
import { useRipple, RippleContainer } from './chunk-64OCJYSH.js';
|
|
3
3
|
import { buttonColorVars } from './chunk-G6QIIWKU.js';
|
|
4
4
|
import { cn } from './chunk-RAS6HUEI.js';
|
|
5
5
|
import { Slot } from '@radix-ui/react-slot';
|
|
@@ -224,5 +224,5 @@ Button.displayName = "Button";
|
|
|
224
224
|
var button_default = Button;
|
|
225
225
|
|
|
226
226
|
export { buttonVariants, button_default };
|
|
227
|
-
//# sourceMappingURL=chunk-
|
|
228
|
-
//# sourceMappingURL=chunk-
|
|
227
|
+
//# sourceMappingURL=chunk-4QLYRAW2.js.map
|
|
228
|
+
//# sourceMappingURL=chunk-4QLYRAW2.js.map
|