@dev-dga/react 0.13.0 → 1.1.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/CHANGELOG.md +19 -0
- package/README.md +14 -0
- package/dist/{chunk-Z2LJBEIV.cjs → chunk-2ISGZAMI.cjs} +3 -3
- package/dist/{chunk-Z2LJBEIV.cjs.map → chunk-2ISGZAMI.cjs.map} +1 -1
- package/dist/{chunk-TPD2GNR6.js → chunk-3BDWXIO2.js} +4 -4
- package/dist/{chunk-KDV7V5S4.js → chunk-3GW6NMDL.js} +4 -4
- package/dist/{chunk-VN2YHNUE.cjs → chunk-3IJBHHQP.cjs} +4 -4
- package/dist/{chunk-VN2YHNUE.cjs.map → chunk-3IJBHHQP.cjs.map} +1 -1
- package/dist/{chunk-DI52GZLA.cjs → chunk-3Y6JPEJ3.cjs} +4 -4
- package/dist/{chunk-DI52GZLA.cjs.map → chunk-3Y6JPEJ3.cjs.map} +1 -1
- package/dist/{chunk-4HBVLISS.js → chunk-4G42XPSB.js} +4 -4
- package/dist/{chunk-7EEKESAA.js → chunk-4IUOTHJC.js} +4 -4
- package/dist/{chunk-YOKOPO2W.cjs → chunk-5NBC47JU.cjs} +3 -3
- package/dist/{chunk-YOKOPO2W.cjs.map → chunk-5NBC47JU.cjs.map} +1 -1
- package/dist/{chunk-GHJEE4NW.js → chunk-6AWYGPVV.js} +4 -4
- package/dist/{chunk-WRCHASO2.js → chunk-6LRMCCGU.js} +4 -4
- package/dist/{chunk-TG2IDU3W.js → chunk-6UMASQFJ.js} +4 -4
- package/dist/{chunk-O7BBEN7E.cjs → chunk-7ECWVWEP.cjs} +3 -3
- package/dist/{chunk-O7BBEN7E.cjs.map → chunk-7ECWVWEP.cjs.map} +1 -1
- package/dist/{chunk-IFZWOLDF.cjs → chunk-7M3PXCTB.cjs} +3 -3
- package/dist/{chunk-IFZWOLDF.cjs.map → chunk-7M3PXCTB.cjs.map} +1 -1
- package/dist/{chunk-PLT3EZZ5.js → chunk-7NXFVPPR.js} +4 -4
- package/dist/{chunk-EQINOHB6.cjs → chunk-A4JJG7ZS.cjs} +4 -4
- package/dist/{chunk-EQINOHB6.cjs.map → chunk-A4JJG7ZS.cjs.map} +1 -1
- package/dist/{chunk-CUOYBYI4.cjs → chunk-AOGJVMFE.cjs} +9 -9
- package/dist/{chunk-CUOYBYI4.cjs.map → chunk-AOGJVMFE.cjs.map} +1 -1
- package/dist/{chunk-5N6CFYT6.cjs → chunk-B3MX4XNP.cjs} +3 -3
- package/dist/{chunk-5N6CFYT6.cjs.map → chunk-B3MX4XNP.cjs.map} +1 -1
- package/dist/{chunk-REDX5DCT.cjs → chunk-BH7XP6DP.cjs} +4 -4
- package/dist/{chunk-REDX5DCT.cjs.map → chunk-BH7XP6DP.cjs.map} +1 -1
- package/dist/{chunk-GUI2LDJZ.cjs → chunk-BSVWC2OY.cjs} +4 -4
- package/dist/{chunk-GUI2LDJZ.cjs.map → chunk-BSVWC2OY.cjs.map} +1 -1
- package/dist/{chunk-TGM4JFWI.cjs → chunk-BTXKJ4NE.cjs} +5 -5
- package/dist/{chunk-TGM4JFWI.cjs.map → chunk-BTXKJ4NE.cjs.map} +1 -1
- package/dist/{chunk-QLV4RQVQ.cjs → chunk-C5BPJIIC.cjs} +5 -5
- package/dist/chunk-C5BPJIIC.cjs.map +1 -0
- package/dist/{chunk-NKCBDSI2.js → chunk-C7QGHL2M.js} +2 -2
- package/dist/{chunk-7F24FFIV.cjs → chunk-DI3WGH7W.cjs} +5 -5
- package/dist/{chunk-7F24FFIV.cjs.map → chunk-DI3WGH7W.cjs.map} +1 -1
- package/dist/{chunk-BQZ4XAYH.js → chunk-DUJ2QWTC.js} +4 -4
- package/dist/{chunk-VYP5GX57.cjs → chunk-DZTHIGMQ.cjs} +3 -3
- package/dist/{chunk-VYP5GX57.cjs.map → chunk-DZTHIGMQ.cjs.map} +1 -1
- package/dist/{chunk-BP6BOEVE.js → chunk-EBV35LZE.js} +4 -4
- package/dist/{chunk-GEVXV4RL.js → chunk-GGWMXMBP.js} +4 -4
- package/dist/{chunk-P7WYXL4A.cjs → chunk-GXF5IZEX.cjs} +3 -3
- package/dist/{chunk-P7WYXL4A.cjs.map → chunk-GXF5IZEX.cjs.map} +1 -1
- package/dist/{chunk-DU4YQEIM.cjs → chunk-H7V6VNFC.cjs} +3 -3
- package/dist/{chunk-DU4YQEIM.cjs.map → chunk-H7V6VNFC.cjs.map} +1 -1
- package/dist/{chunk-NGDKAG2O.cjs → chunk-HQABMNYD.cjs} +7 -7
- package/dist/{chunk-NGDKAG2O.cjs.map → chunk-HQABMNYD.cjs.map} +1 -1
- package/dist/{chunk-J53OY747.js → chunk-IS7NNFV3.js} +7 -7
- package/dist/{chunk-ANHZT2X2.js → chunk-JADNUODB.js} +3 -3
- package/dist/{chunk-ANHZT2X2.js.map → chunk-JADNUODB.js.map} +1 -1
- package/dist/{chunk-XB6YHZAG.js → chunk-JBTM3SFO.js} +4 -4
- package/dist/{chunk-APD5WA65.js → chunk-JHWACBNX.js} +4 -4
- package/dist/{chunk-54KSDBGC.js → chunk-JXMXEBXP.js} +2 -2
- package/dist/{chunk-FPXFD5XT.js → chunk-KXBRKW25.js} +4 -4
- package/dist/{chunk-FF4QNJOQ.js → chunk-MFBGKD5J.js} +4 -4
- package/dist/{chunk-WHKNCDTX.js → chunk-N2OE2MUB.js} +7 -7
- package/dist/{chunk-MECGQLHL.js → chunk-NJIQJHJS.js} +4 -4
- package/dist/{chunk-QCITJAK6.cjs → chunk-NLAVXC45.cjs} +3 -3
- package/dist/{chunk-QCITJAK6.cjs.map → chunk-NLAVXC45.cjs.map} +1 -1
- package/dist/{chunk-5GDTEDDH.js → chunk-OUS6KAYF.js} +4 -4
- package/dist/{chunk-G6LUBXN2.js → chunk-OXMWQMYF.js} +2 -2
- package/dist/{chunk-BNCUXVZF.cjs → chunk-OYSETR4K.cjs} +3 -3
- package/dist/{chunk-BNCUXVZF.cjs.map → chunk-OYSETR4K.cjs.map} +1 -1
- package/dist/{chunk-ZNDJS2W7.js → chunk-P4AMGEAG.js} +4 -4
- package/dist/{chunk-6G2BJQZL.cjs → chunk-P66BFKWQ.cjs} +3 -3
- package/dist/{chunk-6G2BJQZL.cjs.map → chunk-P66BFKWQ.cjs.map} +1 -1
- package/dist/{chunk-BYSA3YCV.cjs → chunk-RRTB754T.cjs} +4 -4
- package/dist/{chunk-BYSA3YCV.cjs.map → chunk-RRTB754T.cjs.map} +1 -1
- package/dist/{chunk-GS7QTYLD.js → chunk-S3JTU4FH.js} +4 -4
- package/dist/{chunk-RH3CQOEI.cjs → chunk-S6FRVWCG.cjs} +3 -3
- package/dist/{chunk-RH3CQOEI.cjs.map → chunk-S6FRVWCG.cjs.map} +1 -1
- package/dist/{chunk-4S2DSEXR.js → chunk-S7KATX5T.js} +5 -5
- package/dist/{chunk-VJV3K53D.js → chunk-SHP4KSPL.js} +4 -4
- package/dist/{chunk-WGCK6KKL.js → chunk-SZRP2ODO.js} +4 -4
- package/dist/{chunk-TNIRKGXY.js → chunk-T6RGNFKN.js} +4 -4
- package/dist/{chunk-P2CSX4DZ.cjs → chunk-TBI3YP65.cjs} +4 -2
- package/dist/chunk-TBI3YP65.cjs.map +1 -0
- package/dist/{chunk-WLJHHTE2.js → chunk-TPZTJDCN.js} +9 -9
- package/dist/{chunk-J7XCG6SX.cjs → chunk-TQH7AMQ2.cjs} +4 -4
- package/dist/{chunk-J7XCG6SX.cjs.map → chunk-TQH7AMQ2.cjs.map} +1 -1
- package/dist/{chunk-FV6E33FY.cjs → chunk-TQUB2TCL.cjs} +4 -4
- package/dist/{chunk-FV6E33FY.cjs.map → chunk-TQUB2TCL.cjs.map} +1 -1
- package/dist/{chunk-YVB5RTKR.js → chunk-TZ6IKB3E.js} +4 -2
- package/dist/chunk-TZ6IKB3E.js.map +1 -0
- package/dist/{chunk-T3NVC7UU.cjs → chunk-U3W2GAHM.cjs} +4 -4
- package/dist/{chunk-T3NVC7UU.cjs.map → chunk-U3W2GAHM.cjs.map} +1 -1
- package/dist/{chunk-G6ZOJVIG.cjs → chunk-U6YLGSAQ.cjs} +6 -6
- package/dist/{chunk-G6ZOJVIG.cjs.map → chunk-U6YLGSAQ.cjs.map} +1 -1
- package/dist/{chunk-J7HSAVFF.cjs → chunk-UG2SQ4Q3.cjs} +11 -11
- package/dist/{chunk-J7HSAVFF.cjs.map → chunk-UG2SQ4Q3.cjs.map} +1 -1
- package/dist/{chunk-IM6TYL3P.cjs → chunk-UVBZHPKP.cjs} +3 -3
- package/dist/{chunk-IM6TYL3P.cjs.map → chunk-UVBZHPKP.cjs.map} +1 -1
- package/dist/{chunk-U7SCEB34.js → chunk-VAGYICPO.js} +2 -2
- package/dist/{chunk-DVKPFWP2.cjs → chunk-W46J3DNV.cjs} +4 -4
- package/dist/{chunk-DVKPFWP2.cjs.map → chunk-W46J3DNV.cjs.map} +1 -1
- package/dist/{chunk-KSEN4ESR.js → chunk-WU3IBHA4.js} +6 -6
- package/dist/chunk-WU3IBHA4.js.map +1 -0
- package/dist/{chunk-FUFFG2UW.cjs → chunk-X5GBT5VI.cjs} +4 -4
- package/dist/{chunk-FUFFG2UW.cjs.map → chunk-X5GBT5VI.cjs.map} +1 -1
- package/dist/{chunk-55RHNN3T.js → chunk-Y4JUMIH4.js} +4 -4
- package/dist/{chunk-ODNO43HV.cjs → chunk-YPC7FRJX.cjs} +4 -4
- package/dist/{chunk-ODNO43HV.cjs.map → chunk-YPC7FRJX.cjs.map} +1 -1
- package/dist/{chunk-TYZIRV75.cjs → chunk-ZCRO2PBB.cjs} +4 -4
- package/dist/{chunk-TYZIRV75.cjs.map → chunk-ZCRO2PBB.cjs.map} +1 -1
- package/dist/components/Card/Card.cjs +3 -3
- package/dist/components/Card/Card.js +2 -2
- package/dist/components/Card/index.cjs +3 -3
- package/dist/components/Card/index.js +2 -2
- package/dist/components/Charts/Charts.cjs +3 -3
- package/dist/components/Charts/Charts.js +2 -2
- package/dist/components/Charts/index.cjs +3 -3
- package/dist/components/Charts/index.js +2 -2
- package/dist/components/Checkbox/Checkbox.cjs +3 -3
- package/dist/components/Checkbox/Checkbox.js +2 -2
- package/dist/components/Checkbox/index.cjs +3 -3
- package/dist/components/Checkbox/index.js +2 -2
- package/dist/components/CodeSnippet/CodeSnippet.cjs +5 -5
- package/dist/components/CodeSnippet/CodeSnippet.js +4 -4
- package/dist/components/CodeSnippet/index.cjs +5 -5
- package/dist/components/CodeSnippet/index.js +4 -4
- package/dist/components/Command/Command.cjs +3 -3
- package/dist/components/Command/Command.js +2 -2
- package/dist/components/Command/index.cjs +3 -3
- package/dist/components/Command/index.js +2 -2
- package/dist/components/DatePicker/DatePicker.cjs +1 -1
- package/dist/components/DatePicker/DatePicker.js +1 -1
- package/dist/components/DatePicker/index.cjs +1 -1
- package/dist/components/DatePicker/index.js +1 -1
- package/dist/components/DateRangePicker/DateRangePicker.cjs +1 -1
- package/dist/components/DateRangePicker/DateRangePicker.js +1 -1
- package/dist/components/DateRangePicker/index.cjs +1 -1
- package/dist/components/DateRangePicker/index.js +1 -1
- package/dist/components/Drawer/Drawer.cjs +3 -3
- package/dist/components/Drawer/Drawer.js +2 -2
- package/dist/components/Drawer/index.cjs +3 -3
- package/dist/components/Drawer/index.js +2 -2
- package/dist/components/Dropdown/Dropdown.cjs +3 -3
- package/dist/components/Dropdown/Dropdown.js +2 -2
- package/dist/components/Dropdown/index.cjs +3 -3
- package/dist/components/Dropdown/index.js +2 -2
- package/dist/components/DropdownMenu/DropdownMenu.cjs +3 -3
- package/dist/components/DropdownMenu/DropdownMenu.js +2 -2
- package/dist/components/DropdownMenu/index.cjs +3 -3
- package/dist/components/DropdownMenu/index.js +2 -2
- package/dist/components/FileUpload/FileUpload.cjs +4 -4
- package/dist/components/FileUpload/FileUpload.js +3 -3
- package/dist/components/FileUpload/index.cjs +4 -4
- package/dist/components/FileUpload/index.js +3 -3
- package/dist/components/Filtration/Filtration.cjs +8 -8
- package/dist/components/Filtration/Filtration.js +7 -7
- package/dist/components/Filtration/index.cjs +8 -8
- package/dist/components/Filtration/index.js +7 -7
- package/dist/components/InputOTP/InputOTP.cjs +3 -3
- package/dist/components/InputOTP/InputOTP.js +2 -2
- package/dist/components/InputOTP/index.cjs +3 -3
- package/dist/components/InputOTP/index.js +2 -2
- package/dist/components/Menubar/Menubar.cjs +3 -3
- package/dist/components/Menubar/Menubar.js +2 -2
- package/dist/components/Menubar/index.cjs +3 -3
- package/dist/components/Menubar/index.js +2 -2
- package/dist/components/Metric/index.cjs +2 -2
- package/dist/components/Metric/index.cjs.map +1 -1
- package/dist/components/Metric/index.js +4 -4
- package/dist/components/Modal/Modal.cjs +3 -3
- package/dist/components/Modal/Modal.js +2 -2
- package/dist/components/Modal/index.cjs +3 -3
- package/dist/components/Modal/index.js +2 -2
- package/dist/components/NumberInput/NumberInput.cjs +3 -3
- package/dist/components/NumberInput/NumberInput.js +2 -2
- package/dist/components/NumberInput/index.cjs +3 -3
- package/dist/components/NumberInput/index.js +2 -2
- package/dist/components/Pagination/Pagination.cjs +3 -3
- package/dist/components/Pagination/Pagination.js +2 -2
- package/dist/components/Pagination/index.cjs +3 -3
- package/dist/components/Pagination/index.js +2 -2
- package/dist/components/Popover/Popover.cjs +3 -3
- package/dist/components/Popover/Popover.js +2 -2
- package/dist/components/Popover/index.cjs +3 -3
- package/dist/components/Popover/index.js +2 -2
- package/dist/components/Progress/Progress.cjs +2 -2
- package/dist/components/Progress/Progress.js +1 -1
- package/dist/components/Progress/index.cjs +2 -2
- package/dist/components/Progress/index.js +1 -1
- package/dist/components/Radio/Radio.cjs +3 -3
- package/dist/components/Radio/Radio.js +2 -2
- package/dist/components/Radio/index.cjs +3 -3
- package/dist/components/Radio/index.js +2 -2
- package/dist/components/Rating/Rating.cjs +3 -3
- package/dist/components/Rating/Rating.js +2 -2
- package/dist/components/Rating/index.cjs +3 -3
- package/dist/components/Rating/index.js +2 -2
- package/dist/components/SaudiRiyal/SaudiRiyal.cjs +3 -3
- package/dist/components/SaudiRiyal/SaudiRiyal.js +2 -2
- package/dist/components/SaudiRiyal/index.cjs +3 -3
- package/dist/components/SaudiRiyal/index.js +2 -2
- package/dist/components/SearchBox/SearchBox.cjs +5 -5
- package/dist/components/SearchBox/SearchBox.js +4 -4
- package/dist/components/SearchBox/index.cjs +5 -5
- package/dist/components/SearchBox/index.js +4 -4
- package/dist/components/Select/Select.cjs +3 -3
- package/dist/components/Select/Select.js +2 -2
- package/dist/components/Select/index.cjs +3 -3
- package/dist/components/Select/index.js +2 -2
- package/dist/components/Sidebar/Sidebar.cjs +4 -4
- package/dist/components/Sidebar/Sidebar.js +3 -3
- package/dist/components/Sidebar/SidebarMenu.cjs +5 -5
- package/dist/components/Sidebar/SidebarMenu.js +4 -4
- package/dist/components/Sidebar/index.cjs +7 -7
- package/dist/components/Sidebar/index.cjs.map +1 -1
- package/dist/components/Sidebar/index.js +6 -6
- package/dist/components/SlideoutMenu/SlideoutMenu.cjs +3 -3
- package/dist/components/SlideoutMenu/SlideoutMenu.js +2 -2
- package/dist/components/SlideoutMenu/index.cjs +3 -3
- package/dist/components/SlideoutMenu/index.js +2 -2
- package/dist/components/Slider/Slider.cjs +3 -3
- package/dist/components/Slider/Slider.js +2 -2
- package/dist/components/Slider/index.cjs +3 -3
- package/dist/components/Slider/index.js +2 -2
- package/dist/components/StructuredList/StructuredList.cjs +4 -4
- package/dist/components/StructuredList/StructuredList.js +3 -3
- package/dist/components/StructuredList/index.cjs +4 -4
- package/dist/components/StructuredList/index.js +3 -3
- package/dist/components/Switch/Switch.cjs +3 -3
- package/dist/components/Switch/Switch.js +2 -2
- package/dist/components/Switch/index.cjs +3 -3
- package/dist/components/Switch/index.js +2 -2
- package/dist/components/Tabs/Tabs.cjs +4 -4
- package/dist/components/Tabs/Tabs.js +3 -3
- package/dist/components/Tabs/index.cjs +4 -4
- package/dist/components/Tabs/index.js +3 -3
- package/dist/components/TagInput/TagInput.cjs +3 -3
- package/dist/components/TagInput/TagInput.js +2 -2
- package/dist/components/TagInput/index.cjs +3 -3
- package/dist/components/TagInput/index.js +2 -2
- package/dist/components/TextInput/TextInput.cjs +3 -3
- package/dist/components/TextInput/TextInput.js +2 -2
- package/dist/components/TextInput/index.cjs +3 -3
- package/dist/components/TextInput/index.js +2 -2
- package/dist/components/Textarea/Textarea.cjs +3 -3
- package/dist/components/Textarea/Textarea.js +2 -2
- package/dist/components/Textarea/index.cjs +3 -3
- package/dist/components/Textarea/index.js +2 -2
- package/dist/components/Tooltip/Tooltip.cjs +3 -3
- package/dist/components/Tooltip/Tooltip.js +2 -2
- package/dist/components/Tooltip/index.cjs +3 -3
- package/dist/components/Tooltip/index.js +2 -2
- package/dist/date-picker.cjs +25 -0
- package/dist/date-picker.cjs.map +1 -0
- package/dist/date-picker.d.cts +147 -0
- package/dist/date-picker.d.ts +147 -0
- package/dist/date-picker.js +25 -0
- package/dist/date-picker.js.map +1 -0
- package/dist/index.cjs +102 -102
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +6 -146
- package/dist/index.d.ts +6 -146
- package/dist/index.js +141 -141
- package/dist/providers/DgaProvider.cjs +2 -2
- package/dist/providers/DgaProvider.js +1 -1
- package/package.json +13 -3
- package/dist/chunk-KSEN4ESR.js.map +0 -1
- package/dist/chunk-P2CSX4DZ.cjs.map +0 -1
- package/dist/chunk-QLV4RQVQ.cjs.map +0 -1
- package/dist/chunk-YVB5RTKR.js.map +0 -1
- /package/dist/{chunk-TPD2GNR6.js.map → chunk-3BDWXIO2.js.map} +0 -0
- /package/dist/{chunk-KDV7V5S4.js.map → chunk-3GW6NMDL.js.map} +0 -0
- /package/dist/{chunk-4HBVLISS.js.map → chunk-4G42XPSB.js.map} +0 -0
- /package/dist/{chunk-7EEKESAA.js.map → chunk-4IUOTHJC.js.map} +0 -0
- /package/dist/{chunk-GHJEE4NW.js.map → chunk-6AWYGPVV.js.map} +0 -0
- /package/dist/{chunk-WRCHASO2.js.map → chunk-6LRMCCGU.js.map} +0 -0
- /package/dist/{chunk-TG2IDU3W.js.map → chunk-6UMASQFJ.js.map} +0 -0
- /package/dist/{chunk-PLT3EZZ5.js.map → chunk-7NXFVPPR.js.map} +0 -0
- /package/dist/{chunk-NKCBDSI2.js.map → chunk-C7QGHL2M.js.map} +0 -0
- /package/dist/{chunk-BQZ4XAYH.js.map → chunk-DUJ2QWTC.js.map} +0 -0
- /package/dist/{chunk-BP6BOEVE.js.map → chunk-EBV35LZE.js.map} +0 -0
- /package/dist/{chunk-GEVXV4RL.js.map → chunk-GGWMXMBP.js.map} +0 -0
- /package/dist/{chunk-J53OY747.js.map → chunk-IS7NNFV3.js.map} +0 -0
- /package/dist/{chunk-XB6YHZAG.js.map → chunk-JBTM3SFO.js.map} +0 -0
- /package/dist/{chunk-APD5WA65.js.map → chunk-JHWACBNX.js.map} +0 -0
- /package/dist/{chunk-54KSDBGC.js.map → chunk-JXMXEBXP.js.map} +0 -0
- /package/dist/{chunk-FPXFD5XT.js.map → chunk-KXBRKW25.js.map} +0 -0
- /package/dist/{chunk-FF4QNJOQ.js.map → chunk-MFBGKD5J.js.map} +0 -0
- /package/dist/{chunk-WHKNCDTX.js.map → chunk-N2OE2MUB.js.map} +0 -0
- /package/dist/{chunk-MECGQLHL.js.map → chunk-NJIQJHJS.js.map} +0 -0
- /package/dist/{chunk-5GDTEDDH.js.map → chunk-OUS6KAYF.js.map} +0 -0
- /package/dist/{chunk-G6LUBXN2.js.map → chunk-OXMWQMYF.js.map} +0 -0
- /package/dist/{chunk-ZNDJS2W7.js.map → chunk-P4AMGEAG.js.map} +0 -0
- /package/dist/{chunk-GS7QTYLD.js.map → chunk-S3JTU4FH.js.map} +0 -0
- /package/dist/{chunk-4S2DSEXR.js.map → chunk-S7KATX5T.js.map} +0 -0
- /package/dist/{chunk-VJV3K53D.js.map → chunk-SHP4KSPL.js.map} +0 -0
- /package/dist/{chunk-WGCK6KKL.js.map → chunk-SZRP2ODO.js.map} +0 -0
- /package/dist/{chunk-TNIRKGXY.js.map → chunk-T6RGNFKN.js.map} +0 -0
- /package/dist/{chunk-WLJHHTE2.js.map → chunk-TPZTJDCN.js.map} +0 -0
- /package/dist/{chunk-U7SCEB34.js.map → chunk-VAGYICPO.js.map} +0 -0
- /package/dist/{chunk-55RHNN3T.js.map → chunk-Y4JUMIH4.js.map} +0 -0
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _chunkH7V6VNFCcjs = require('./chunk-H7V6VNFC.cjs');
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
var _chunkYS2JJ73Mcjs = require('./chunk-YS2JJ73M.cjs');
|
|
@@ -174,8 +174,8 @@ function TabsOverflowList({
|
|
|
174
174
|
)
|
|
175
175
|
}
|
|
176
176
|
),
|
|
177
|
-
hasOverflow && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
178
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
177
|
+
hasOverflow && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkH7V6VNFCcjs.DropdownMenu, { children: [
|
|
178
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH7V6VNFCcjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
179
179
|
"button",
|
|
180
180
|
{
|
|
181
181
|
ref: moreRef,
|
|
@@ -187,10 +187,10 @@ function TabsOverflowList({
|
|
|
187
187
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "ddga-tabs__more-button", "aria-hidden": "true", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYS2JJ73Mcjs.MoreHorizontal, { className: "ddga-tabs__more-icon" }) })
|
|
188
188
|
}
|
|
189
189
|
) }),
|
|
190
|
-
/* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
190
|
+
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH7V6VNFCcjs.DropdownMenuContent, { align: "end", children: items.slice(hiddenFrom).map((child, i) => {
|
|
191
191
|
const index = hiddenFrom + i;
|
|
192
192
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
193
|
-
|
|
193
|
+
_chunkH7V6VNFCcjs.DropdownMenuItem,
|
|
194
194
|
{
|
|
195
195
|
startIcon: child.props.startIcon,
|
|
196
196
|
disabled: child.props.disabled,
|
|
@@ -268,4 +268,4 @@ function TabsContent({ className, ...props }) {
|
|
|
268
268
|
|
|
269
269
|
|
|
270
270
|
exports.tabsVariants = tabsVariants; exports.tabsListVariants = tabsListVariants; exports.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent;
|
|
271
|
-
//# sourceMappingURL=chunk-
|
|
271
|
+
//# sourceMappingURL=chunk-U6YLGSAQ.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-G6ZOJVIG.cjs","../src/components/Tabs/Tabs.tsx"],"names":[],"mappings":"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","file":"/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-G6ZOJVIG.cjs","sourcesContent":[null,"'use client';\n\nimport {\n Children,\n cloneElement,\n isValidElement,\n useCallback,\n useEffect,\n useLayoutEffect,\n useRef,\n useState,\n type ReactElement,\n type ReactNode,\n} from 'react';\nimport { Tabs as TabsPrimitive } from 'radix-ui';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../utils/cn';\nimport { MoreHorizontal } from '../../internal/icons';\nimport {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n} from '../DropdownMenu/DropdownMenu';\n\nconst useIsoLayoutEffect = typeof document !== 'undefined' ? useLayoutEffect : useEffect;\n\nconst tabsVariants = cva('ddga-tabs', {\n variants: {\n size: {\n sm: 'ddga-tabs--sm',\n md: 'ddga-tabs--md',\n lg: 'ddga-tabs--lg',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n});\n\nconst tabsListVariants = cva('ddga-tabs__list', {\n variants: {\n fullWidth: {\n true: 'ddga-tabs__list--full-width',\n },\n /** Align the first tab's content to the list's leading edge (drop the\n * leading inset). SDGA \"Flush\" — horizontal lists only. */\n flush: {\n true: 'ddga-tabs__list--flush',\n },\n },\n});\n\ninterface TabsProps\n extends React.ComponentProps<typeof TabsPrimitive.Root>, VariantProps<typeof tabsVariants> {}\n\ninterface TabsListProps\n extends React.ComponentProps<typeof TabsPrimitive.List>, VariantProps<typeof tabsListVariants> {\n /**\n * Collapse tabs that don't fit into a trailing \"More\" overflow menu (SDGA\n * \"More Tab\"). Horizontal lists only — the list fills its container's inline\n * size and pushes the overflow trigger to the trailing edge.\n */\n overflow?: boolean;\n /** Accessible name for the overflow trigger when `overflow` is set. */\n moreLabel?: string;\n}\n\ninterface TabsTriggerProps extends React.ComponentProps<typeof TabsPrimitive.Trigger> {\n /**\n * Leading icon, rendered before the label in a decorative (`aria-hidden`)\n * wrapper. Ignored when `asChild` is set — compose icons inside your own\n * element in that mode.\n */\n startIcon?: ReactNode;\n /** Trailing icon (e.g. a count/badge glyph). Same rules as `startIcon`. */\n endIcon?: ReactNode;\n}\ntype TabsContentProps = React.ComponentProps<typeof TabsPrimitive.Content>;\n\nfunction Tabs({ size, className, ...props }: TabsProps) {\n return (\n <TabsPrimitive.Root\n data-slot=\"tabs\"\n className={cn(tabsVariants({ size }), className)}\n {...props}\n />\n );\n}\n\nfunction TabsList({ overflow, fullWidth, flush, moreLabel, ...props }: TabsListProps) {\n return overflow ? (\n // `fullWidth` is incompatible with measured overflow; `flush` still applies.\n <TabsOverflowList moreLabel={moreLabel} flush={flush} {...props} />\n ) : (\n <TabsPlainList fullWidth={fullWidth} flush={flush} {...props} />\n );\n}\n\nfunction TabsPlainList({\n fullWidth,\n flush,\n className,\n ...props\n}: Omit<TabsListProps, 'overflow' | 'moreLabel'>) {\n return (\n <TabsPrimitive.List\n data-slot=\"tabs-list\"\n className={cn(tabsListVariants({ fullWidth, flush }), className)}\n {...props}\n />\n );\n}\n\nfunction TabsOverflowList({\n className,\n children,\n flush,\n moreLabel = 'More tabs',\n ...props\n}: Omit<TabsListProps, 'overflow' | 'fullWidth'>) {\n const wrapRef = useRef<HTMLDivElement>(null);\n const listRef = useRef<HTMLDivElement>(null);\n const moreRef = useRef<HTMLButtonElement>(null);\n const [hiddenFrom, setHiddenFrom] = useState<number>(Number.POSITIVE_INFINITY);\n const [activeIndex, setActiveIndex] = useState<number>(-1);\n\n const items = Children.toArray(children).filter(\n isValidElement,\n ) as ReactElement<TabsTriggerProps>[];\n const count = items.length;\n\n const measure = useCallback(() => {\n const wrap = wrapRef.current;\n const list = listRef.current;\n if (!wrap || !list) return;\n const triggers = Array.from(list.querySelectorAll<HTMLElement>('[data-slot=\"tabs-trigger\"]'));\n if (triggers.length === 0) return;\n // Natural widths — defeat the `--overflowed` (display:none) class so a\n // hidden trigger still reports its real width on a later resize.\n const widths = triggers.map((t) => {\n t.style.setProperty('display', 'inline-flex', 'important');\n const w = t.getBoundingClientRect().width;\n t.style.removeProperty('display');\n return w;\n });\n const containerW = wrap.getBoundingClientRect().width;\n const total = widths.reduce((a, b) => a + b, 0);\n let next = triggers.length;\n if (total > containerW + 0.5) {\n const moreW = moreRef.current?.getBoundingClientRect().width ?? 48;\n const avail = containerW - moreW;\n let used = 0;\n next = 0;\n for (let i = 0; i < widths.length; i++) {\n if (used + widths[i] <= avail) {\n used += widths[i];\n next++;\n } else break;\n }\n next = Math.max(next, 1);\n }\n setHiddenFrom((prev) => (prev === next ? prev : next));\n }, []);\n\n const signature = items.map((c) => String(c.props.value)).join('|');\n useIsoLayoutEffect(() => {\n measure();\n const wrap = wrapRef.current;\n if (!wrap || typeof ResizeObserver === 'undefined') return;\n const ro = new ResizeObserver(() => measure());\n ro.observe(wrap);\n return () => ro.disconnect();\n }, [measure, signature]);\n\n // Track the active tab (Radix flips `data-state` internally) so the overflow\n // trigger can show the selected style when the active tab is collapsed.\n useEffect(() => {\n const list = listRef.current;\n if (!list) return;\n const read = () => {\n const triggers = Array.from(list.querySelectorAll('[data-slot=\"tabs-trigger\"]'));\n setActiveIndex(triggers.findIndex((t) => t.getAttribute('data-state') === 'active'));\n };\n read();\n if (typeof MutationObserver === 'undefined') return;\n const mo = new MutationObserver(read);\n mo.observe(list, { attributes: true, subtree: true, attributeFilter: ['data-state'] });\n return () => mo.disconnect();\n }, [signature]);\n\n const activate = (index: number) => {\n const trigger = listRef.current?.querySelectorAll<HTMLElement>('[data-slot=\"tabs-trigger\"]')[\n index\n ];\n trigger?.dispatchEvent(new MouseEvent('mousedown', { bubbles: true, cancelable: true }));\n };\n\n const hasOverflow = hiddenFrom < count;\n const activeHidden = activeIndex >= hiddenFrom;\n\n return (\n <div ref={wrapRef} className=\"ddga-tabs__list-wrap\" data-slot=\"tabs-list-wrap\">\n <TabsPrimitive.List\n ref={listRef}\n data-slot=\"tabs-list\"\n className={cn('ddga-tabs__list', flush && 'ddga-tabs__list--flush', className)}\n {...props}\n >\n {items.map((child, i) =>\n cloneElement(child, {\n key: child.key ?? i,\n className: cn(\n child.props.className,\n i >= hiddenFrom && 'ddga-tabs__trigger--overflowed',\n ),\n }),\n )}\n </TabsPrimitive.List>\n\n {hasOverflow && (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <button\n ref={moreRef}\n type=\"button\"\n className=\"ddga-tabs__more\"\n data-slot=\"tabs-more\"\n data-active={activeHidden ? '' : undefined}\n aria-label={moreLabel}\n >\n <span className=\"ddga-tabs__more-button\" aria-hidden=\"true\">\n <MoreHorizontal className=\"ddga-tabs__more-icon\" />\n </span>\n </button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n {items.slice(hiddenFrom).map((child, i) => {\n const index = hiddenFrom + i;\n return (\n <DropdownMenuItem\n key={child.key ?? index}\n startIcon={child.props.startIcon}\n disabled={child.props.disabled}\n onSelect={() => activate(index)}\n >\n {child.props.children}\n </DropdownMenuItem>\n );\n })}\n </DropdownMenuContent>\n </DropdownMenu>\n )}\n </div>\n );\n}\n\nfunction TabsTrigger({\n className,\n startIcon,\n endIcon,\n children,\n asChild,\n ...props\n}: TabsTriggerProps) {\n const hasIcon = startIcon != null || endIcon != null;\n // null/undefined/boolean/'' children don't count as text (React renders nothing for them).\n const hasText = children != null && children !== '' && typeof children !== 'boolean';\n const isIconOnly = !asChild && hasIcon && !hasText;\n\n if (process.env.NODE_ENV === 'development') {\n if (isIconOnly && !props['aria-label'] && !props['aria-labelledby']) {\n console.warn(\n '[@dev-dga/react] An icon-only TabsTrigger (icon with no text label) ' +\n 'requires an aria-label or aria-labelledby for screen reader accessibility.',\n );\n }\n if (asChild && hasIcon) {\n console.warn(\n '[@dev-dga/react] TabsTrigger `startIcon`/`endIcon` are ignored when ' +\n '`asChild` is set — render the icons inside your child element instead.',\n );\n }\n }\n\n return (\n <TabsPrimitive.Trigger\n data-slot=\"tabs-trigger\"\n asChild={asChild}\n className={cn('ddga-tabs__trigger', isIconOnly && 'ddga-tabs__trigger--icon-only', className)}\n {...props}\n >\n {asChild ? (\n children\n ) : (\n <>\n {startIcon && (\n <span\n className=\"ddga-tabs__icon\"\n data-slot=\"tabs-trigger-start-icon\"\n aria-hidden=\"true\"\n >\n {startIcon}\n </span>\n )}\n {children}\n {endIcon && (\n <span className=\"ddga-tabs__icon\" data-slot=\"tabs-trigger-end-icon\" aria-hidden=\"true\">\n {endIcon}\n </span>\n )}\n </>\n )}\n </TabsPrimitive.Trigger>\n );\n}\n\nfunction TabsContent({ className, ...props }: TabsContentProps) {\n return (\n <TabsPrimitive.Content\n data-slot=\"tabs-content\"\n className={cn('ddga-tabs__content', className)}\n {...props}\n />\n );\n}\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent, tabsVariants, tabsListVariants };\nexport type { TabsProps, TabsListProps, TabsTriggerProps, TabsContentProps };\n"]}
|
|
1
|
+
{"version":3,"sources":["/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-U6YLGSAQ.cjs","../src/components/Tabs/Tabs.tsx"],"names":[],"mappings":"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","file":"/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-U6YLGSAQ.cjs","sourcesContent":[null,"'use client';\n\nimport {\n Children,\n cloneElement,\n isValidElement,\n useCallback,\n useEffect,\n useLayoutEffect,\n useRef,\n useState,\n type ReactElement,\n type ReactNode,\n} from 'react';\nimport { Tabs as TabsPrimitive } from 'radix-ui';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../utils/cn';\nimport { MoreHorizontal } from '../../internal/icons';\nimport {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n} from '../DropdownMenu/DropdownMenu';\n\nconst useIsoLayoutEffect = typeof document !== 'undefined' ? useLayoutEffect : useEffect;\n\nconst tabsVariants = cva('ddga-tabs', {\n variants: {\n size: {\n sm: 'ddga-tabs--sm',\n md: 'ddga-tabs--md',\n lg: 'ddga-tabs--lg',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n});\n\nconst tabsListVariants = cva('ddga-tabs__list', {\n variants: {\n fullWidth: {\n true: 'ddga-tabs__list--full-width',\n },\n /** Align the first tab's content to the list's leading edge (drop the\n * leading inset). SDGA \"Flush\" — horizontal lists only. */\n flush: {\n true: 'ddga-tabs__list--flush',\n },\n },\n});\n\ninterface TabsProps\n extends React.ComponentProps<typeof TabsPrimitive.Root>, VariantProps<typeof tabsVariants> {}\n\ninterface TabsListProps\n extends React.ComponentProps<typeof TabsPrimitive.List>, VariantProps<typeof tabsListVariants> {\n /**\n * Collapse tabs that don't fit into a trailing \"More\" overflow menu (SDGA\n * \"More Tab\"). Horizontal lists only — the list fills its container's inline\n * size and pushes the overflow trigger to the trailing edge.\n */\n overflow?: boolean;\n /** Accessible name for the overflow trigger when `overflow` is set. */\n moreLabel?: string;\n}\n\ninterface TabsTriggerProps extends React.ComponentProps<typeof TabsPrimitive.Trigger> {\n /**\n * Leading icon, rendered before the label in a decorative (`aria-hidden`)\n * wrapper. Ignored when `asChild` is set — compose icons inside your own\n * element in that mode.\n */\n startIcon?: ReactNode;\n /** Trailing icon (e.g. a count/badge glyph). Same rules as `startIcon`. */\n endIcon?: ReactNode;\n}\ntype TabsContentProps = React.ComponentProps<typeof TabsPrimitive.Content>;\n\nfunction Tabs({ size, className, ...props }: TabsProps) {\n return (\n <TabsPrimitive.Root\n data-slot=\"tabs\"\n className={cn(tabsVariants({ size }), className)}\n {...props}\n />\n );\n}\n\nfunction TabsList({ overflow, fullWidth, flush, moreLabel, ...props }: TabsListProps) {\n return overflow ? (\n // `fullWidth` is incompatible with measured overflow; `flush` still applies.\n <TabsOverflowList moreLabel={moreLabel} flush={flush} {...props} />\n ) : (\n <TabsPlainList fullWidth={fullWidth} flush={flush} {...props} />\n );\n}\n\nfunction TabsPlainList({\n fullWidth,\n flush,\n className,\n ...props\n}: Omit<TabsListProps, 'overflow' | 'moreLabel'>) {\n return (\n <TabsPrimitive.List\n data-slot=\"tabs-list\"\n className={cn(tabsListVariants({ fullWidth, flush }), className)}\n {...props}\n />\n );\n}\n\nfunction TabsOverflowList({\n className,\n children,\n flush,\n moreLabel = 'More tabs',\n ...props\n}: Omit<TabsListProps, 'overflow' | 'fullWidth'>) {\n const wrapRef = useRef<HTMLDivElement>(null);\n const listRef = useRef<HTMLDivElement>(null);\n const moreRef = useRef<HTMLButtonElement>(null);\n const [hiddenFrom, setHiddenFrom] = useState<number>(Number.POSITIVE_INFINITY);\n const [activeIndex, setActiveIndex] = useState<number>(-1);\n\n const items = Children.toArray(children).filter(\n isValidElement,\n ) as ReactElement<TabsTriggerProps>[];\n const count = items.length;\n\n const measure = useCallback(() => {\n const wrap = wrapRef.current;\n const list = listRef.current;\n if (!wrap || !list) return;\n const triggers = Array.from(list.querySelectorAll<HTMLElement>('[data-slot=\"tabs-trigger\"]'));\n if (triggers.length === 0) return;\n // Natural widths — defeat the `--overflowed` (display:none) class so a\n // hidden trigger still reports its real width on a later resize.\n const widths = triggers.map((t) => {\n t.style.setProperty('display', 'inline-flex', 'important');\n const w = t.getBoundingClientRect().width;\n t.style.removeProperty('display');\n return w;\n });\n const containerW = wrap.getBoundingClientRect().width;\n const total = widths.reduce((a, b) => a + b, 0);\n let next = triggers.length;\n if (total > containerW + 0.5) {\n const moreW = moreRef.current?.getBoundingClientRect().width ?? 48;\n const avail = containerW - moreW;\n let used = 0;\n next = 0;\n for (let i = 0; i < widths.length; i++) {\n if (used + widths[i] <= avail) {\n used += widths[i];\n next++;\n } else break;\n }\n next = Math.max(next, 1);\n }\n setHiddenFrom((prev) => (prev === next ? prev : next));\n }, []);\n\n const signature = items.map((c) => String(c.props.value)).join('|');\n useIsoLayoutEffect(() => {\n measure();\n const wrap = wrapRef.current;\n if (!wrap || typeof ResizeObserver === 'undefined') return;\n const ro = new ResizeObserver(() => measure());\n ro.observe(wrap);\n return () => ro.disconnect();\n }, [measure, signature]);\n\n // Track the active tab (Radix flips `data-state` internally) so the overflow\n // trigger can show the selected style when the active tab is collapsed.\n useEffect(() => {\n const list = listRef.current;\n if (!list) return;\n const read = () => {\n const triggers = Array.from(list.querySelectorAll('[data-slot=\"tabs-trigger\"]'));\n setActiveIndex(triggers.findIndex((t) => t.getAttribute('data-state') === 'active'));\n };\n read();\n if (typeof MutationObserver === 'undefined') return;\n const mo = new MutationObserver(read);\n mo.observe(list, { attributes: true, subtree: true, attributeFilter: ['data-state'] });\n return () => mo.disconnect();\n }, [signature]);\n\n const activate = (index: number) => {\n const trigger = listRef.current?.querySelectorAll<HTMLElement>('[data-slot=\"tabs-trigger\"]')[\n index\n ];\n trigger?.dispatchEvent(new MouseEvent('mousedown', { bubbles: true, cancelable: true }));\n };\n\n const hasOverflow = hiddenFrom < count;\n const activeHidden = activeIndex >= hiddenFrom;\n\n return (\n <div ref={wrapRef} className=\"ddga-tabs__list-wrap\" data-slot=\"tabs-list-wrap\">\n <TabsPrimitive.List\n ref={listRef}\n data-slot=\"tabs-list\"\n className={cn('ddga-tabs__list', flush && 'ddga-tabs__list--flush', className)}\n {...props}\n >\n {items.map((child, i) =>\n cloneElement(child, {\n key: child.key ?? i,\n className: cn(\n child.props.className,\n i >= hiddenFrom && 'ddga-tabs__trigger--overflowed',\n ),\n }),\n )}\n </TabsPrimitive.List>\n\n {hasOverflow && (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <button\n ref={moreRef}\n type=\"button\"\n className=\"ddga-tabs__more\"\n data-slot=\"tabs-more\"\n data-active={activeHidden ? '' : undefined}\n aria-label={moreLabel}\n >\n <span className=\"ddga-tabs__more-button\" aria-hidden=\"true\">\n <MoreHorizontal className=\"ddga-tabs__more-icon\" />\n </span>\n </button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n {items.slice(hiddenFrom).map((child, i) => {\n const index = hiddenFrom + i;\n return (\n <DropdownMenuItem\n key={child.key ?? index}\n startIcon={child.props.startIcon}\n disabled={child.props.disabled}\n onSelect={() => activate(index)}\n >\n {child.props.children}\n </DropdownMenuItem>\n );\n })}\n </DropdownMenuContent>\n </DropdownMenu>\n )}\n </div>\n );\n}\n\nfunction TabsTrigger({\n className,\n startIcon,\n endIcon,\n children,\n asChild,\n ...props\n}: TabsTriggerProps) {\n const hasIcon = startIcon != null || endIcon != null;\n // null/undefined/boolean/'' children don't count as text (React renders nothing for them).\n const hasText = children != null && children !== '' && typeof children !== 'boolean';\n const isIconOnly = !asChild && hasIcon && !hasText;\n\n if (process.env.NODE_ENV === 'development') {\n if (isIconOnly && !props['aria-label'] && !props['aria-labelledby']) {\n console.warn(\n '[@dev-dga/react] An icon-only TabsTrigger (icon with no text label) ' +\n 'requires an aria-label or aria-labelledby for screen reader accessibility.',\n );\n }\n if (asChild && hasIcon) {\n console.warn(\n '[@dev-dga/react] TabsTrigger `startIcon`/`endIcon` are ignored when ' +\n '`asChild` is set — render the icons inside your child element instead.',\n );\n }\n }\n\n return (\n <TabsPrimitive.Trigger\n data-slot=\"tabs-trigger\"\n asChild={asChild}\n className={cn('ddga-tabs__trigger', isIconOnly && 'ddga-tabs__trigger--icon-only', className)}\n {...props}\n >\n {asChild ? (\n children\n ) : (\n <>\n {startIcon && (\n <span\n className=\"ddga-tabs__icon\"\n data-slot=\"tabs-trigger-start-icon\"\n aria-hidden=\"true\"\n >\n {startIcon}\n </span>\n )}\n {children}\n {endIcon && (\n <span className=\"ddga-tabs__icon\" data-slot=\"tabs-trigger-end-icon\" aria-hidden=\"true\">\n {endIcon}\n </span>\n )}\n </>\n )}\n </TabsPrimitive.Trigger>\n );\n}\n\nfunction TabsContent({ className, ...props }: TabsContentProps) {\n return (\n <TabsPrimitive.Content\n data-slot=\"tabs-content\"\n className={cn('ddga-tabs__content', className)}\n {...props}\n />\n );\n}\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent, tabsVariants, tabsListVariants };\nexport type { TabsProps, TabsListProps, TabsTriggerProps, TabsContentProps };\n"]}
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkBTXKJ4NEcjs = require('./chunk-BTXKJ4NE.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _chunkOYSETR4Kcjs = require('./chunk-OYSETR4K.cjs');
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
var
|
|
11
|
+
var _chunkTQUB2TCLcjs = require('./chunk-TQUB2TCL.cjs');
|
|
12
12
|
|
|
13
13
|
|
|
14
|
+
var _chunk5NENDJOMcjs = require('./chunk-5NENDJOM.cjs');
|
|
14
15
|
|
|
15
16
|
|
|
16
|
-
var _chunkYS2JJ73Mcjs = require('./chunk-YS2JJ73M.cjs');
|
|
17
17
|
|
|
18
18
|
|
|
19
|
-
var
|
|
19
|
+
var _chunkYS2JJ73Mcjs = require('./chunk-YS2JJ73M.cjs');
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
var _chunkV6MXOJQ4cjs = require('./chunk-V6MXOJQ4.cjs');
|
|
@@ -66,7 +66,7 @@ function Filtration({
|
|
|
66
66
|
() => ({ overlay, open: actualOpen, setOpen }),
|
|
67
67
|
[overlay, actualOpen, setOpen]
|
|
68
68
|
);
|
|
69
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FiltrationContext.Provider, { value: ctx, children: overlay ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
69
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, FiltrationContext.Provider, { value: ctx, children: overlay ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOYSETR4Kcjs.Popover, { open: actualOpen, onOpenChange: setOpen, children }) : children });
|
|
70
70
|
}
|
|
71
71
|
function FiltrationTrigger({
|
|
72
72
|
size = "lg",
|
|
@@ -101,7 +101,7 @@ function FiltrationTrigger({
|
|
|
101
101
|
children
|
|
102
102
|
}
|
|
103
103
|
);
|
|
104
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
104
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOYSETR4Kcjs.PopoverTrigger, { asChild: true, children: button });
|
|
105
105
|
}
|
|
106
106
|
function FiltrationResults({
|
|
107
107
|
className,
|
|
@@ -138,7 +138,7 @@ function FiltrationPanel({ className, children, ...props }) {
|
|
|
138
138
|
const overlay = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _3 => _3.overlay]), () => ( true));
|
|
139
139
|
if (overlay) {
|
|
140
140
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
141
|
-
|
|
141
|
+
_chunkOYSETR4Kcjs.PopoverContent,
|
|
142
142
|
{
|
|
143
143
|
"data-slot": "filtration-panel",
|
|
144
144
|
align: "start",
|
|
@@ -242,7 +242,7 @@ function FiltrationCheckboxFilter({
|
|
|
242
242
|
className: _chunkV6MXOJQ4cjs.cn.call(void 0, "ddga-filtration-checkbox-filter", className),
|
|
243
243
|
children: [
|
|
244
244
|
searchable ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
245
|
-
|
|
245
|
+
_chunkBTXKJ4NEcjs.SearchBox,
|
|
246
246
|
{
|
|
247
247
|
"aria-label": searchLabel,
|
|
248
248
|
placeholder: searchPlaceholder,
|
|
@@ -252,7 +252,7 @@ function FiltrationCheckboxFilter({
|
|
|
252
252
|
}
|
|
253
253
|
) : null,
|
|
254
254
|
/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { id: listId, className: "ddga-filtration-checkbox-filter__list", children: visible.map((opt) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
255
|
-
|
|
255
|
+
_chunkTQUB2TCLcjs.Checkbox,
|
|
256
256
|
{
|
|
257
257
|
size: "sm",
|
|
258
258
|
value: opt.value,
|
|
@@ -372,4 +372,4 @@ function FiltrationFooter({
|
|
|
372
372
|
|
|
373
373
|
|
|
374
374
|
exports.filtrationPanelVariants = filtrationPanelVariants; exports.Filtration = Filtration; exports.FiltrationTrigger = FiltrationTrigger; exports.FiltrationResults = FiltrationResults; exports.FiltrationPanel = FiltrationPanel; exports.FiltrationSection = FiltrationSection; exports.FiltrationCheckboxFilter = FiltrationCheckboxFilter; exports.FiltrationOptionList = FiltrationOptionList; exports.FiltrationOption = FiltrationOption; exports.FiltrationFooter = FiltrationFooter;
|
|
375
|
-
//# sourceMappingURL=chunk-
|
|
375
|
+
//# sourceMappingURL=chunk-UG2SQ4Q3.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-J7HSAVFF.cjs","../src/components/Filtration/Filtration.tsx"],"names":["Fragment"],"mappings":"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","file":"/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-J7HSAVFF.cjs","sourcesContent":[null,"'use client';\n\nimport {\n Children,\n Fragment,\n createContext,\n useCallback,\n useContext,\n useEffect,\n useId,\n useMemo,\n useRef,\n useState,\n type ReactNode,\n} from 'react';\nimport { RadioGroup as RadioGroupPrimitive } from 'radix-ui';\nimport { cva } from 'class-variance-authority';\nimport { cn } from '../../utils/cn';\nimport { Button, type ButtonProps } from '../Button';\nimport { Popover, PopoverTrigger, PopoverContent } from '../Popover';\nimport { Checkbox } from '../Checkbox';\nimport { SearchBox } from '../SearchBox';\nimport { Check, Filter, ChevronDown } from '../../internal/icons';\n\nconst filtrationPanelVariants = cva('ddga-filtration-panel', {\n variants: {\n inline: {\n true: 'ddga-filtration-panel--inline',\n },\n },\n});\n\ninterface FiltrationContextValue {\n /** `true` = floating overlay (Popover); `false` = embedded inline panel. */\n overlay: boolean;\n open: boolean;\n setOpen: (open: boolean) => void;\n}\n\nconst FiltrationContext = createContext<FiltrationContextValue | null>(null);\n\ninterface FiltrationProps {\n /** Floating overlay anchored to the trigger (default) vs an embedded inline panel. */\n overlay?: boolean;\n /** Controlled open state (overlay only). */\n open?: boolean;\n /** Uncontrolled initial open state (overlay only). */\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n children?: ReactNode;\n}\n\ntype FiltrationTriggerProps = Omit<ButtonProps, 'variant' | 'asChild'>;\n\ninterface FiltrationResultsProps extends React.ComponentProps<'div'> {\n /** Names the applied-filters chip group for assistive tech, e.g. \"Applied filters\". */\n 'aria-label'?: string;\n}\n\ntype FiltrationPanelProps = Omit<React.ComponentProps<typeof PopoverContent>, 'size' | 'arrow'>;\n\ninterface FiltrationSectionProps extends React.ComponentProps<'div'> {\n /** Section heading (Text sm/Semibold). */\n label: ReactNode;\n /** Selected-count badge; rendered via `formatCount`. */\n count?: number;\n /** Maps `count` → the suffix text. Defaults to `(n selections)`. Override for i18n. */\n formatCount?: (count: number) => ReactNode;\n}\n\ninterface FiltrationCheckboxOption {\n value: string;\n label: ReactNode;\n /** Optional trailing count, e.g. number of matching results. */\n count?: number;\n disabled?: boolean;\n}\n\ninterface FiltrationCheckboxFilterProps extends Omit<React.ComponentProps<'div'>, 'defaultValue'> {\n options: FiltrationCheckboxOption[];\n /** Controlled selected values. */\n value?: string[];\n /** Uncontrolled initial selected values. */\n defaultValue?: string[];\n onValueChange?: (next: string[]) => void;\n /** Show a search field that filters options by label. */\n searchable?: boolean;\n searchPlaceholder?: string;\n /** Accessible label for the search field (it has no visible label). */\n searchLabel?: string;\n /** Collapse to the first N options behind a \"Show more\" toggle. */\n collapseAfter?: number;\n /** Maps the hidden-count → the expand button label. Default `Show {n} more`. */\n showMoreLabel?: (remaining: number) => ReactNode;\n showLessLabel?: ReactNode;\n 'aria-label'?: string;\n 'aria-labelledby'?: string;\n className?: string;\n}\n\ntype FiltrationOptionListProps = Omit<\n React.ComponentProps<typeof RadioGroupPrimitive.Root>,\n 'asChild'\n>;\n\ninterface FiltrationOptionProps extends Omit<\n React.ComponentProps<typeof RadioGroupPrimitive.Item>,\n 'children'\n> {\n children: ReactNode;\n}\n\ninterface FiltrationFooterProps extends React.ComponentProps<'div'> {\n applyLabel?: ReactNode;\n clearLabel?: ReactNode;\n /** Appended to the apply label as `(n)`. */\n appliedCount?: number;\n onApply?: () => void;\n onClear?: () => void;\n /** Close the overlay when Apply is pressed (overlay only). Default `true`. */\n closeOnApply?: boolean;\n}\n\nfunction Filtration({\n overlay = true,\n open,\n defaultOpen,\n onOpenChange,\n children,\n}: FiltrationProps) {\n const isControlled = open !== undefined;\n const [internalOpen, setInternalOpen] = useState(defaultOpen ?? false);\n const actualOpen = isControlled ? open : internalOpen;\n\n const setOpen = useCallback(\n (next: boolean) => {\n if (!isControlled) setInternalOpen(next);\n onOpenChange?.(next);\n },\n [isControlled, onOpenChange],\n );\n\n const ctx = useMemo<FiltrationContextValue>(\n () => ({ overlay, open: actualOpen, setOpen }),\n [overlay, actualOpen, setOpen],\n );\n\n return (\n <FiltrationContext.Provider value={ctx}>\n {overlay ? (\n <Popover open={actualOpen} onOpenChange={setOpen}>\n {children}\n </Popover>\n ) : (\n children\n )}\n </FiltrationContext.Provider>\n );\n}\n\nfunction FiltrationTrigger({\n size = 'lg',\n startIcon,\n endIcon,\n className,\n children,\n ...props\n}: FiltrationTriggerProps) {\n const ctx = useContext(FiltrationContext);\n const overlay = ctx?.overlay ?? true;\n\n const warned = useRef(false);\n useEffect(() => {\n if (process.env.NODE_ENV !== 'production' && !overlay && !warned.current) {\n warned.current = true;\n console.warn(\n '[@dev-dga/react] <FiltrationTrigger> only renders in overlay mode. In an inline ' +\n '<Filtration overlay={false}> the panel is always visible, so the trigger is omitted.',\n );\n }\n }, [overlay]);\n\n if (!overlay) return null;\n\n const button = (\n <Button\n variant=\"black\"\n size={size}\n startIcon={startIcon ?? <Filter aria-hidden=\"true\" />}\n endIcon={endIcon ?? <ChevronDown aria-hidden=\"true\" />}\n data-slot=\"filtration-trigger\"\n className={cn('ddga-filtration__trigger', className)}\n {...props}\n >\n {children}\n </Button>\n );\n\n return <PopoverTrigger asChild>{button}</PopoverTrigger>;\n}\n\nfunction FiltrationResults({\n className,\n children,\n 'aria-label': ariaLabel,\n ...props\n}: FiltrationResultsProps) {\n if (process.env.NODE_ENV !== 'production' && !ariaLabel && !props['aria-labelledby']) {\n console.warn(\n '[@dev-dga/react] <FiltrationResults> should have an `aria-label` (e.g. \"Applied filters\") so the chip group has an accessible name.',\n );\n }\n return (\n <div\n role=\"group\"\n aria-label={ariaLabel}\n data-slot=\"filtration-results\"\n className={cn('ddga-filtration-results', className)}\n {...props}\n >\n {children}\n </div>\n );\n}\n\n// SDGA draws an explicit hairline between every panel child (sections + footer),\n// inset 8px each side and floating in the 8px inter-child gap — not an edge border.\nfunction interleaveDividers(children: ReactNode): ReactNode {\n const items = Children.toArray(children).filter(Boolean);\n return items.map((child, i) => (\n <Fragment key={i}>\n {i > 0 ? <div className=\"ddga-filtration__divider\" aria-hidden=\"true\" /> : null}\n {child}\n </Fragment>\n ));\n}\n\nfunction FiltrationPanel({ className, children, ...props }: FiltrationPanelProps) {\n const ctx = useContext(FiltrationContext);\n const overlay = ctx?.overlay ?? true;\n\n if (overlay) {\n return (\n <PopoverContent\n data-slot=\"filtration-panel\"\n align=\"start\"\n className={cn(filtrationPanelVariants(), className)}\n {...props}\n >\n {interleaveDividers(children)}\n </PopoverContent>\n );\n }\n\n if (process.env.NODE_ENV !== 'production' && !props['aria-label'] && !props['aria-labelledby']) {\n console.warn(\n '[@dev-dga/react] An inline <FiltrationPanel> should have an `aria-label` or `aria-labelledby` so the region has an accessible name.',\n );\n }\n\n return (\n <section\n data-slot=\"filtration-panel\"\n className={cn(filtrationPanelVariants({ inline: true }), className)}\n {...props}\n >\n {interleaveDividers(children)}\n </section>\n );\n}\n\nfunction FiltrationSection({\n label,\n count,\n formatCount = (n) => `(${n} selections)`,\n className,\n children,\n ...props\n}: FiltrationSectionProps) {\n const labelId = useId();\n return (\n <div\n role=\"group\"\n aria-labelledby={labelId}\n data-slot=\"filtration-section\"\n className={cn('ddga-filtration-section', className)}\n {...props}\n >\n <p id={labelId} className=\"ddga-filtration-section__label\">\n {label}\n {count != null ? (\n <span className=\"ddga-filtration-section__count\"> {formatCount(count)}</span>\n ) : null}\n </p>\n <div className=\"ddga-filtration-section__body\">{children}</div>\n </div>\n );\n}\n\nfunction optionText(label: ReactNode, value: string): string {\n return typeof label === 'string' ? label : value;\n}\n\nfunction FiltrationCheckboxFilter({\n options,\n value,\n defaultValue,\n onValueChange,\n searchable = false,\n searchPlaceholder,\n searchLabel = 'Search options',\n collapseAfter,\n showMoreLabel = (remaining) => `Show ${remaining} more`,\n showLessLabel = 'Show less',\n className,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n ...rest\n}: FiltrationCheckboxFilterProps) {\n const isControlled = value !== undefined;\n const [internal, setInternal] = useState<string[]>(defaultValue ?? []);\n const selected = isControlled ? value : internal;\n\n const [query, setQuery] = useState('');\n const [expanded, setExpanded] = useState(false);\n const listId = useId();\n\n const toggle = (optValue: string) => {\n const next = selected.includes(optValue)\n ? selected.filter((v) => v !== optValue)\n : [...selected, optValue];\n if (!isControlled) setInternal(next);\n onValueChange?.(next);\n };\n\n const filtered = useMemo(() => {\n const q = query.trim().toLowerCase();\n if (!searchable || !q) return options;\n return options.filter((o) => optionText(o.label, o.value).toLowerCase().includes(q));\n }, [options, query, searchable]);\n\n const collapsible = collapseAfter != null && filtered.length > collapseAfter;\n const visible = collapsible && !expanded ? filtered.slice(0, collapseAfter) : filtered;\n const remaining = collapsible ? filtered.length - (collapseAfter ?? 0) : 0;\n\n return (\n <div\n {...rest}\n role=\"group\"\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n data-slot=\"filtration-checkbox-filter\"\n className={cn('ddga-filtration-checkbox-filter', className)}\n >\n {searchable ? (\n <SearchBox\n aria-label={searchLabel}\n placeholder={searchPlaceholder}\n voiceSearch={false}\n value={query}\n onChange={(event) => setQuery(event.target.value)}\n />\n ) : null}\n <div id={listId} className=\"ddga-filtration-checkbox-filter__list\">\n {visible.map((opt) => (\n <Checkbox\n key={opt.value}\n size=\"sm\"\n value={opt.value}\n checked={selected.includes(opt.value)}\n onCheckedChange={() => toggle(opt.value)}\n disabled={opt.disabled}\n label={\n <>\n {opt.label}\n {opt.count != null ? (\n <span className=\"ddga-filtration-checkbox-filter__count\" aria-hidden=\"true\">\n {' '}\n ({opt.count})\n </span>\n ) : null}\n </>\n }\n />\n ))}\n </div>\n {collapsible ? (\n <button\n type=\"button\"\n className=\"ddga-filtration-checkbox-filter__more\"\n aria-expanded={expanded}\n aria-controls={listId}\n onClick={() => setExpanded((prev) => !prev)}\n >\n {expanded ? showLessLabel : showMoreLabel(remaining)}\n <ChevronDown\n className={cn('ddga-filtration-checkbox-filter__more-icon', expanded && 'is-open')}\n aria-hidden=\"true\"\n />\n </button>\n ) : null}\n </div>\n );\n}\n\nfunction FiltrationOptionList({ className, ...props }: FiltrationOptionListProps) {\n return (\n <RadioGroupPrimitive.Root\n data-slot=\"filtration-option-list\"\n className={cn('ddga-filtration-option-list', className)}\n {...props}\n />\n );\n}\n\nfunction FiltrationOption({ className, children, ...props }: FiltrationOptionProps) {\n return (\n <RadioGroupPrimitive.Item\n data-slot=\"filtration-option\"\n className={cn('ddga-filtration-option', className)}\n {...props}\n >\n <span className=\"ddga-filtration-option__label\">{children}</span>\n <RadioGroupPrimitive.Indicator className=\"ddga-filtration-option__indicator\">\n <Check className=\"ddga-filtration-option__check\" aria-hidden=\"true\" />\n </RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n );\n}\n\nfunction FiltrationFooter({\n applyLabel = 'Apply Filters',\n clearLabel = 'Clear Filter',\n appliedCount,\n onApply,\n onClear,\n closeOnApply = true,\n className,\n ...props\n}: FiltrationFooterProps) {\n const ctx = useContext(FiltrationContext);\n\n const handleApply = () => {\n onApply?.();\n if (closeOnApply && ctx?.overlay) ctx.setOpen(false);\n };\n\n return (\n <div\n data-slot=\"filtration-footer\"\n className={cn('ddga-filtration-footer', className)}\n {...props}\n >\n <Button\n variant=\"primary\"\n size=\"lg\"\n className=\"ddga-filtration-footer__apply\"\n onClick={handleApply}\n >\n {applyLabel}\n {appliedCount != null ? ` (${appliedCount})` : ''}\n </Button>\n <Button variant=\"ghost\" size=\"lg\" onClick={onClear}>\n {clearLabel}\n </Button>\n </div>\n );\n}\n\nexport {\n Filtration,\n FiltrationTrigger,\n FiltrationResults,\n FiltrationPanel,\n FiltrationSection,\n FiltrationCheckboxFilter,\n FiltrationOptionList,\n FiltrationOption,\n FiltrationFooter,\n filtrationPanelVariants,\n};\nexport type {\n FiltrationProps,\n FiltrationTriggerProps,\n FiltrationResultsProps,\n FiltrationPanelProps,\n FiltrationSectionProps,\n FiltrationCheckboxFilterProps,\n FiltrationCheckboxOption,\n FiltrationOptionListProps,\n FiltrationOptionProps,\n FiltrationFooterProps,\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-UG2SQ4Q3.cjs","../src/components/Filtration/Filtration.tsx"],"names":["Fragment"],"mappings":"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","file":"/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-UG2SQ4Q3.cjs","sourcesContent":[null,"'use client';\n\nimport {\n Children,\n Fragment,\n createContext,\n useCallback,\n useContext,\n useEffect,\n useId,\n useMemo,\n useRef,\n useState,\n type ReactNode,\n} from 'react';\nimport { RadioGroup as RadioGroupPrimitive } from 'radix-ui';\nimport { cva } from 'class-variance-authority';\nimport { cn } from '../../utils/cn';\nimport { Button, type ButtonProps } from '../Button';\nimport { Popover, PopoverTrigger, PopoverContent } from '../Popover';\nimport { Checkbox } from '../Checkbox';\nimport { SearchBox } from '../SearchBox';\nimport { Check, Filter, ChevronDown } from '../../internal/icons';\n\nconst filtrationPanelVariants = cva('ddga-filtration-panel', {\n variants: {\n inline: {\n true: 'ddga-filtration-panel--inline',\n },\n },\n});\n\ninterface FiltrationContextValue {\n /** `true` = floating overlay (Popover); `false` = embedded inline panel. */\n overlay: boolean;\n open: boolean;\n setOpen: (open: boolean) => void;\n}\n\nconst FiltrationContext = createContext<FiltrationContextValue | null>(null);\n\ninterface FiltrationProps {\n /** Floating overlay anchored to the trigger (default) vs an embedded inline panel. */\n overlay?: boolean;\n /** Controlled open state (overlay only). */\n open?: boolean;\n /** Uncontrolled initial open state (overlay only). */\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n children?: ReactNode;\n}\n\ntype FiltrationTriggerProps = Omit<ButtonProps, 'variant' | 'asChild'>;\n\ninterface FiltrationResultsProps extends React.ComponentProps<'div'> {\n /** Names the applied-filters chip group for assistive tech, e.g. \"Applied filters\". */\n 'aria-label'?: string;\n}\n\ntype FiltrationPanelProps = Omit<React.ComponentProps<typeof PopoverContent>, 'size' | 'arrow'>;\n\ninterface FiltrationSectionProps extends React.ComponentProps<'div'> {\n /** Section heading (Text sm/Semibold). */\n label: ReactNode;\n /** Selected-count badge; rendered via `formatCount`. */\n count?: number;\n /** Maps `count` → the suffix text. Defaults to `(n selections)`. Override for i18n. */\n formatCount?: (count: number) => ReactNode;\n}\n\ninterface FiltrationCheckboxOption {\n value: string;\n label: ReactNode;\n /** Optional trailing count, e.g. number of matching results. */\n count?: number;\n disabled?: boolean;\n}\n\ninterface FiltrationCheckboxFilterProps extends Omit<React.ComponentProps<'div'>, 'defaultValue'> {\n options: FiltrationCheckboxOption[];\n /** Controlled selected values. */\n value?: string[];\n /** Uncontrolled initial selected values. */\n defaultValue?: string[];\n onValueChange?: (next: string[]) => void;\n /** Show a search field that filters options by label. */\n searchable?: boolean;\n searchPlaceholder?: string;\n /** Accessible label for the search field (it has no visible label). */\n searchLabel?: string;\n /** Collapse to the first N options behind a \"Show more\" toggle. */\n collapseAfter?: number;\n /** Maps the hidden-count → the expand button label. Default `Show {n} more`. */\n showMoreLabel?: (remaining: number) => ReactNode;\n showLessLabel?: ReactNode;\n 'aria-label'?: string;\n 'aria-labelledby'?: string;\n className?: string;\n}\n\ntype FiltrationOptionListProps = Omit<\n React.ComponentProps<typeof RadioGroupPrimitive.Root>,\n 'asChild'\n>;\n\ninterface FiltrationOptionProps extends Omit<\n React.ComponentProps<typeof RadioGroupPrimitive.Item>,\n 'children'\n> {\n children: ReactNode;\n}\n\ninterface FiltrationFooterProps extends React.ComponentProps<'div'> {\n applyLabel?: ReactNode;\n clearLabel?: ReactNode;\n /** Appended to the apply label as `(n)`. */\n appliedCount?: number;\n onApply?: () => void;\n onClear?: () => void;\n /** Close the overlay when Apply is pressed (overlay only). Default `true`. */\n closeOnApply?: boolean;\n}\n\nfunction Filtration({\n overlay = true,\n open,\n defaultOpen,\n onOpenChange,\n children,\n}: FiltrationProps) {\n const isControlled = open !== undefined;\n const [internalOpen, setInternalOpen] = useState(defaultOpen ?? false);\n const actualOpen = isControlled ? open : internalOpen;\n\n const setOpen = useCallback(\n (next: boolean) => {\n if (!isControlled) setInternalOpen(next);\n onOpenChange?.(next);\n },\n [isControlled, onOpenChange],\n );\n\n const ctx = useMemo<FiltrationContextValue>(\n () => ({ overlay, open: actualOpen, setOpen }),\n [overlay, actualOpen, setOpen],\n );\n\n return (\n <FiltrationContext.Provider value={ctx}>\n {overlay ? (\n <Popover open={actualOpen} onOpenChange={setOpen}>\n {children}\n </Popover>\n ) : (\n children\n )}\n </FiltrationContext.Provider>\n );\n}\n\nfunction FiltrationTrigger({\n size = 'lg',\n startIcon,\n endIcon,\n className,\n children,\n ...props\n}: FiltrationTriggerProps) {\n const ctx = useContext(FiltrationContext);\n const overlay = ctx?.overlay ?? true;\n\n const warned = useRef(false);\n useEffect(() => {\n if (process.env.NODE_ENV !== 'production' && !overlay && !warned.current) {\n warned.current = true;\n console.warn(\n '[@dev-dga/react] <FiltrationTrigger> only renders in overlay mode. In an inline ' +\n '<Filtration overlay={false}> the panel is always visible, so the trigger is omitted.',\n );\n }\n }, [overlay]);\n\n if (!overlay) return null;\n\n const button = (\n <Button\n variant=\"black\"\n size={size}\n startIcon={startIcon ?? <Filter aria-hidden=\"true\" />}\n endIcon={endIcon ?? <ChevronDown aria-hidden=\"true\" />}\n data-slot=\"filtration-trigger\"\n className={cn('ddga-filtration__trigger', className)}\n {...props}\n >\n {children}\n </Button>\n );\n\n return <PopoverTrigger asChild>{button}</PopoverTrigger>;\n}\n\nfunction FiltrationResults({\n className,\n children,\n 'aria-label': ariaLabel,\n ...props\n}: FiltrationResultsProps) {\n if (process.env.NODE_ENV !== 'production' && !ariaLabel && !props['aria-labelledby']) {\n console.warn(\n '[@dev-dga/react] <FiltrationResults> should have an `aria-label` (e.g. \"Applied filters\") so the chip group has an accessible name.',\n );\n }\n return (\n <div\n role=\"group\"\n aria-label={ariaLabel}\n data-slot=\"filtration-results\"\n className={cn('ddga-filtration-results', className)}\n {...props}\n >\n {children}\n </div>\n );\n}\n\n// SDGA draws an explicit hairline between every panel child (sections + footer),\n// inset 8px each side and floating in the 8px inter-child gap — not an edge border.\nfunction interleaveDividers(children: ReactNode): ReactNode {\n const items = Children.toArray(children).filter(Boolean);\n return items.map((child, i) => (\n <Fragment key={i}>\n {i > 0 ? <div className=\"ddga-filtration__divider\" aria-hidden=\"true\" /> : null}\n {child}\n </Fragment>\n ));\n}\n\nfunction FiltrationPanel({ className, children, ...props }: FiltrationPanelProps) {\n const ctx = useContext(FiltrationContext);\n const overlay = ctx?.overlay ?? true;\n\n if (overlay) {\n return (\n <PopoverContent\n data-slot=\"filtration-panel\"\n align=\"start\"\n className={cn(filtrationPanelVariants(), className)}\n {...props}\n >\n {interleaveDividers(children)}\n </PopoverContent>\n );\n }\n\n if (process.env.NODE_ENV !== 'production' && !props['aria-label'] && !props['aria-labelledby']) {\n console.warn(\n '[@dev-dga/react] An inline <FiltrationPanel> should have an `aria-label` or `aria-labelledby` so the region has an accessible name.',\n );\n }\n\n return (\n <section\n data-slot=\"filtration-panel\"\n className={cn(filtrationPanelVariants({ inline: true }), className)}\n {...props}\n >\n {interleaveDividers(children)}\n </section>\n );\n}\n\nfunction FiltrationSection({\n label,\n count,\n formatCount = (n) => `(${n} selections)`,\n className,\n children,\n ...props\n}: FiltrationSectionProps) {\n const labelId = useId();\n return (\n <div\n role=\"group\"\n aria-labelledby={labelId}\n data-slot=\"filtration-section\"\n className={cn('ddga-filtration-section', className)}\n {...props}\n >\n <p id={labelId} className=\"ddga-filtration-section__label\">\n {label}\n {count != null ? (\n <span className=\"ddga-filtration-section__count\"> {formatCount(count)}</span>\n ) : null}\n </p>\n <div className=\"ddga-filtration-section__body\">{children}</div>\n </div>\n );\n}\n\nfunction optionText(label: ReactNode, value: string): string {\n return typeof label === 'string' ? label : value;\n}\n\nfunction FiltrationCheckboxFilter({\n options,\n value,\n defaultValue,\n onValueChange,\n searchable = false,\n searchPlaceholder,\n searchLabel = 'Search options',\n collapseAfter,\n showMoreLabel = (remaining) => `Show ${remaining} more`,\n showLessLabel = 'Show less',\n className,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n ...rest\n}: FiltrationCheckboxFilterProps) {\n const isControlled = value !== undefined;\n const [internal, setInternal] = useState<string[]>(defaultValue ?? []);\n const selected = isControlled ? value : internal;\n\n const [query, setQuery] = useState('');\n const [expanded, setExpanded] = useState(false);\n const listId = useId();\n\n const toggle = (optValue: string) => {\n const next = selected.includes(optValue)\n ? selected.filter((v) => v !== optValue)\n : [...selected, optValue];\n if (!isControlled) setInternal(next);\n onValueChange?.(next);\n };\n\n const filtered = useMemo(() => {\n const q = query.trim().toLowerCase();\n if (!searchable || !q) return options;\n return options.filter((o) => optionText(o.label, o.value).toLowerCase().includes(q));\n }, [options, query, searchable]);\n\n const collapsible = collapseAfter != null && filtered.length > collapseAfter;\n const visible = collapsible && !expanded ? filtered.slice(0, collapseAfter) : filtered;\n const remaining = collapsible ? filtered.length - (collapseAfter ?? 0) : 0;\n\n return (\n <div\n {...rest}\n role=\"group\"\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n data-slot=\"filtration-checkbox-filter\"\n className={cn('ddga-filtration-checkbox-filter', className)}\n >\n {searchable ? (\n <SearchBox\n aria-label={searchLabel}\n placeholder={searchPlaceholder}\n voiceSearch={false}\n value={query}\n onChange={(event) => setQuery(event.target.value)}\n />\n ) : null}\n <div id={listId} className=\"ddga-filtration-checkbox-filter__list\">\n {visible.map((opt) => (\n <Checkbox\n key={opt.value}\n size=\"sm\"\n value={opt.value}\n checked={selected.includes(opt.value)}\n onCheckedChange={() => toggle(opt.value)}\n disabled={opt.disabled}\n label={\n <>\n {opt.label}\n {opt.count != null ? (\n <span className=\"ddga-filtration-checkbox-filter__count\" aria-hidden=\"true\">\n {' '}\n ({opt.count})\n </span>\n ) : null}\n </>\n }\n />\n ))}\n </div>\n {collapsible ? (\n <button\n type=\"button\"\n className=\"ddga-filtration-checkbox-filter__more\"\n aria-expanded={expanded}\n aria-controls={listId}\n onClick={() => setExpanded((prev) => !prev)}\n >\n {expanded ? showLessLabel : showMoreLabel(remaining)}\n <ChevronDown\n className={cn('ddga-filtration-checkbox-filter__more-icon', expanded && 'is-open')}\n aria-hidden=\"true\"\n />\n </button>\n ) : null}\n </div>\n );\n}\n\nfunction FiltrationOptionList({ className, ...props }: FiltrationOptionListProps) {\n return (\n <RadioGroupPrimitive.Root\n data-slot=\"filtration-option-list\"\n className={cn('ddga-filtration-option-list', className)}\n {...props}\n />\n );\n}\n\nfunction FiltrationOption({ className, children, ...props }: FiltrationOptionProps) {\n return (\n <RadioGroupPrimitive.Item\n data-slot=\"filtration-option\"\n className={cn('ddga-filtration-option', className)}\n {...props}\n >\n <span className=\"ddga-filtration-option__label\">{children}</span>\n <RadioGroupPrimitive.Indicator className=\"ddga-filtration-option__indicator\">\n <Check className=\"ddga-filtration-option__check\" aria-hidden=\"true\" />\n </RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n );\n}\n\nfunction FiltrationFooter({\n applyLabel = 'Apply Filters',\n clearLabel = 'Clear Filter',\n appliedCount,\n onApply,\n onClear,\n closeOnApply = true,\n className,\n ...props\n}: FiltrationFooterProps) {\n const ctx = useContext(FiltrationContext);\n\n const handleApply = () => {\n onApply?.();\n if (closeOnApply && ctx?.overlay) ctx.setOpen(false);\n };\n\n return (\n <div\n data-slot=\"filtration-footer\"\n className={cn('ddga-filtration-footer', className)}\n {...props}\n >\n <Button\n variant=\"primary\"\n size=\"lg\"\n className=\"ddga-filtration-footer__apply\"\n onClick={handleApply}\n >\n {applyLabel}\n {appliedCount != null ? ` (${appliedCount})` : ''}\n </Button>\n <Button variant=\"ghost\" size=\"lg\" onClick={onClear}>\n {clearLabel}\n </Button>\n </div>\n );\n}\n\nexport {\n Filtration,\n FiltrationTrigger,\n FiltrationResults,\n FiltrationPanel,\n FiltrationSection,\n FiltrationCheckboxFilter,\n FiltrationOptionList,\n FiltrationOption,\n FiltrationFooter,\n filtrationPanelVariants,\n};\nexport type {\n FiltrationProps,\n FiltrationTriggerProps,\n FiltrationResultsProps,\n FiltrationPanelProps,\n FiltrationSectionProps,\n FiltrationCheckboxFilterProps,\n FiltrationCheckboxOption,\n FiltrationOptionListProps,\n FiltrationOptionProps,\n FiltrationFooterProps,\n};\n"]}
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
var _chunkYS2JJ73Mcjs = require('./chunk-YS2JJ73M.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _chunkV6MXOJQ4cjs = require('./chunk-V6MXOJQ4.cjs');
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
var
|
|
9
|
+
var _chunkFQLVTLUIcjs = require('./chunk-FQLVTLUI.cjs');
|
|
10
10
|
|
|
11
11
|
// src/components/Command/Command.tsx
|
|
12
12
|
var _react = require('react');
|
|
@@ -189,4 +189,4 @@ function CommandDialog({
|
|
|
189
189
|
|
|
190
190
|
|
|
191
191
|
exports.commandVariants = commandVariants; exports.Command = Command; exports.CommandInput = CommandInput; exports.CommandList = CommandList; exports.CommandEmpty = CommandEmpty; exports.CommandGroup = CommandGroup; exports.CommandSeparator = CommandSeparator; exports.CommandItem = CommandItem; exports.CommandDialog = CommandDialog;
|
|
192
|
-
//# sourceMappingURL=chunk-
|
|
192
|
+
//# sourceMappingURL=chunk-UVBZHPKP.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-IM6TYL3P.cjs","../src/components/Command/Command.tsx"],"names":[],"mappings":"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","file":"/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-IM6TYL3P.cjs","sourcesContent":[null,"'use client';\n\nimport { useCallback, useContext, useEffect, useRef, useState } from 'react';\nimport { Command as CommandPrimitive } from 'cmdk';\nimport { Dialog as DialogPrimitive, VisuallyHidden } from 'radix-ui';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../utils/cn';\nimport { Search } from '../../internal/icons';\nimport { DgaContext } from '../../providers/DgaContext';\n\n// ─── 1. Variants (cva) ─── //\n//\n// Single structural class — no size/variant axes (a palette is one shape).\n// Kept as cva for barrel parity with the rest of the library + an override\n// seam if variants are ever added.\nconst commandVariants = cva('ddga-command');\n\n// ─── 2. Types ─── //\n\ntype CommandProps = React.ComponentProps<typeof CommandPrimitive> &\n VariantProps<typeof commandVariants>;\ntype CommandInputProps = React.ComponentProps<typeof CommandPrimitive.Input>;\ntype CommandListProps = React.ComponentProps<typeof CommandPrimitive.List>;\ntype CommandEmptyProps = React.ComponentProps<typeof CommandPrimitive.Empty>;\ntype CommandGroupProps = React.ComponentProps<typeof CommandPrimitive.Group>;\ntype CommandSeparatorProps = React.ComponentProps<typeof CommandPrimitive.Separator>;\n\ninterface CommandItemProps extends Omit<\n React.ComponentProps<typeof CommandPrimitive.Item>,\n 'onSelect' | 'value'\n> {\n /**\n * Stable value for filtering + the `onSelect` payload. Required: cmdk would\n * otherwise derive it from the rendered text, so a label / translation /\n * icon change would silently change what `onSelect` receives.\n */\n value: string;\n /** Leading icon — mirrors Menubar / DropdownMenu item icons. */\n startIcon?: React.ReactNode;\n /** Right-aligned keyboard hint, e.g. `\"⌘P\"` — mirrors Menubar / DropdownMenu. */\n shortcut?: React.ReactNode;\n /**\n * Fires when the item is chosen (click / Enter). Receives the item's\n * `value` (cmdk defaults it to the text content when `value` is omitted).\n *\n * Action-oriented: items run a command and don't track selection. Inside\n * `CommandDialog` the consumer closes the dialog here, e.g.\n * `onSelect={() => { setOpen(false); run(); }}`.\n */\n onSelect?: (value: string) => void;\n}\n\ninterface CommandDialogProps extends Pick<\n React.ComponentProps<typeof CommandPrimitive>,\n 'filter' | 'shouldFilter' | 'loop'\n> {\n /** Controlled open state. */\n open?: boolean;\n /** Initial open state when uncontrolled. */\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n /**\n * Key for the built-in document shortcut (with Cmd on macOS / Ctrl elsewhere).\n * Defaults to `'k'` (⌘K / Ctrl+K). Pass `false` to bind no listener and wire\n * your own. The modifier is fixed; only the key is configurable.\n */\n shortcut?: string | false;\n /** Accessible name → visually-hidden `DialogTitle`. Defaults to `\"Command palette\"`. */\n label?: React.ReactNode;\n /** Optional visually-hidden `DialogDescription`. */\n description?: React.ReactNode;\n className?: string;\n /** `CommandInput` + `CommandList` + groups / items. */\n children: React.ReactNode;\n}\n\n// ─── 3. Inline compound (cmdk passthroughs) ─── //\n\n/**\n * Inline command palette (cmdk root). Pass cmdk's `label` to give the search\n * input + listbox their accessible name — cmdk wires it via `aria-labelledby`,\n * which wins over any `aria-label` on `CommandInput`. `CommandDialog` sets this\n * for you from its `label`.\n */\nfunction Command({ className, ...props }: CommandProps) {\n return (\n <CommandPrimitive data-slot=\"command\" className={cn(commandVariants(), className)} {...props} />\n );\n}\n\nfunction CommandInput({\n className,\n placeholder,\n 'aria-label': ariaLabel,\n ...props\n}: CommandInputProps) {\n return (\n <div className=\"ddga-command__input-wrapper\" data-slot=\"command-input-wrapper\">\n <Search className=\"ddga-command__search-icon\" aria-hidden=\"true\" />\n <CommandPrimitive.Input\n data-slot=\"command-input\"\n className={cn('ddga-command__input', className)}\n placeholder={placeholder}\n // role=\"combobox\" needs an accessible name. Fall back to the placeholder\n // string so the input is named without forcing a separate label.\n aria-label={ariaLabel ?? (typeof placeholder === 'string' ? placeholder : undefined)}\n {...props}\n />\n </div>\n );\n}\n\nfunction CommandList({ className, ...props }: CommandListProps) {\n // Native overflow scroll — cmdk manages scroll-into-view against this\n // container; wrapping it in ScrollArea would fight that math.\n return (\n <CommandPrimitive.List\n data-slot=\"command-list\"\n className={cn('ddga-command__list', className)}\n {...props}\n />\n );\n}\n\nfunction CommandEmpty({ className, ...props }: CommandEmptyProps) {\n return (\n <CommandPrimitive.Empty\n data-slot=\"command-empty\"\n className={cn('ddga-command__empty', className)}\n {...props}\n />\n );\n}\n\nfunction CommandGroup({ className, ...props }: CommandGroupProps) {\n return (\n <CommandPrimitive.Group\n data-slot=\"command-group\"\n className={cn('ddga-command__group', className)}\n {...props}\n />\n );\n}\n\nfunction CommandSeparator({\n className,\n 'aria-hidden': ariaHidden = true,\n ...props\n}: CommandSeparatorProps) {\n // cmdk hardcodes role=\"separator\"; a separator is an invalid child of the\n // list's role=\"listbox\" (aria-required-children). It's purely decorative —\n // groups carry the semantics via their headings — so hide it from the a11y\n // tree. cmdk spreads our props before its own attrs, so aria-hidden survives.\n return (\n <CommandPrimitive.Separator\n aria-hidden={ariaHidden}\n data-slot=\"command-separator\"\n className={cn('ddga-command__separator', className)}\n {...props}\n />\n );\n}\n\nfunction CommandItem({\n startIcon,\n shortcut,\n className,\n children,\n keywords,\n ...props\n}: CommandItemProps) {\n // Make the visible label searchable. cmdk filters against `value` + `keywords`,\n // never the rendered text — so with a stable Latin `value` the label (e.g.\n // Arabic) would be unmatchable. When the label is a plain string (our common\n // case; icon/shortcut are separate props), fold it into keywords so typing the\n // label works in any language. `value` stays the stable `onSelect` id.\n const labelText = typeof children === 'string' ? children : undefined;\n const mergedKeywords =\n labelText && !keywords?.includes(labelText) ? [...(keywords ?? []), labelText] : keywords;\n return (\n <CommandPrimitive.Item\n data-slot=\"command-item\"\n className={cn('ddga-command__item', className)}\n keywords={mergedKeywords}\n {...props}\n >\n {startIcon != null && (\n <span className=\"ddga-command__item-icon\" aria-hidden=\"true\">\n {startIcon}\n </span>\n )}\n <span className=\"ddga-command__item-label\">{children}</span>\n {shortcut != null && <span className=\"ddga-command__item-shortcut\">{shortcut}</span>}\n </CommandPrimitive.Item>\n );\n}\n\n// ─── 4. Dialog surface (Radix Dialog + Command) ─── //\n\nfunction CommandDialog({\n open: controlledOpen,\n defaultOpen,\n onOpenChange,\n shortcut = 'k',\n label = 'Command palette',\n description,\n className,\n filter,\n shouldFilter,\n loop,\n children,\n}: CommandDialogProps) {\n const [internalOpen, setInternalOpen] = useState(defaultOpen ?? false);\n const isControlled = controlledOpen !== undefined;\n const open = isControlled ? controlledOpen : internalOpen;\n\n const setOpen = useCallback(\n (next: boolean) => {\n if (!isControlled) setInternalOpen(next);\n onOpenChange?.(next);\n },\n [isControlled, onOpenChange],\n );\n\n // Built-in ⌘K / Ctrl+K toggle (opt-out via `shortcut={false}`). Mirrors\n // Sidebar's Cmd/Ctrl+B. Bind the listener once (per shortcut) and read the\n // live open state through a ref so it isn't torn down on every toggle; goes\n // through `setOpen` so controlled + uncontrolled both work.\n const openRef = useRef(open);\n useEffect(() => {\n openRef.current = open;\n });\n useEffect(() => {\n if (typeof shortcut !== 'string') return;\n const key = shortcut.toLowerCase();\n const onKeyDown = (event: KeyboardEvent) => {\n if ((event.metaKey || event.ctrlKey) && event.key.toLowerCase() === key) {\n event.preventDefault();\n setOpen(!openRef.current);\n }\n };\n document.addEventListener('keydown', onKeyDown);\n return () => document.removeEventListener('keydown', onKeyDown);\n }, [shortcut, setOpen]);\n\n // Anchor the Portal to the DgaProvider body-level container so data-theme /\n // dir / theme vars inherit and the fixed overlay escapes ancestor\n // transform / overflow:hidden. Mirrors Modal; regression test asserts\n // containment + dark data-theme.\n const ctx = useContext(DgaContext);\n const portalContainer = ctx?.portalEl ?? ctx?.rootEl ?? undefined;\n\n return (\n <DialogPrimitive.Root open={open} onOpenChange={setOpen}>\n <DialogPrimitive.Portal container={portalContainer}>\n <DialogPrimitive.Overlay className=\"ddga-command__overlay\" data-slot=\"command-overlay\" />\n <DialogPrimitive.Content\n data-slot=\"command-dialog\"\n className={cn('ddga-command-dialog', className)}\n // Named by the visually-hidden title below. With no description,\n // opt out of Radix's missing-description dev warning via its\n // documented escape hatch (explicit aria-describedby={undefined}).\n {...(description == null ? { 'aria-describedby': undefined } : {})}\n >\n <DialogPrimitive.Title asChild>\n <VisuallyHidden.Root>{label}</VisuallyHidden.Root>\n </DialogPrimitive.Title>\n {description != null && (\n <DialogPrimitive.Description asChild>\n <VisuallyHidden.Root>{description}</VisuallyHidden.Root>\n </DialogPrimitive.Description>\n )}\n <Command\n data-slot=\"command-dialog-command\"\n className=\"ddga-command--dialog\"\n // Name cmdk's listbox + input with the dialog label (cmdk's `label`\n // wins over our per-input aria-label via aria-labelledby).\n label={typeof label === 'string' ? label : 'Command palette'}\n filter={filter}\n shouldFilter={shouldFilter}\n loop={loop}\n >\n {children}\n </Command>\n </DialogPrimitive.Content>\n </DialogPrimitive.Portal>\n </DialogPrimitive.Root>\n );\n}\n\n// ─── 5. Exports ─── //\n\nexport {\n Command,\n CommandInput,\n CommandList,\n CommandEmpty,\n CommandGroup,\n CommandItem,\n CommandSeparator,\n CommandDialog,\n commandVariants,\n};\nexport type {\n CommandProps,\n CommandInputProps,\n CommandListProps,\n CommandEmptyProps,\n CommandGroupProps,\n CommandSeparatorProps,\n CommandItemProps,\n CommandDialogProps,\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-UVBZHPKP.cjs","../src/components/Command/Command.tsx"],"names":[],"mappings":"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","file":"/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-UVBZHPKP.cjs","sourcesContent":[null,"'use client';\n\nimport { useCallback, useContext, useEffect, useRef, useState } from 'react';\nimport { Command as CommandPrimitive } from 'cmdk';\nimport { Dialog as DialogPrimitive, VisuallyHidden } from 'radix-ui';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../utils/cn';\nimport { Search } from '../../internal/icons';\nimport { DgaContext } from '../../providers/DgaContext';\n\n// ─── 1. Variants (cva) ─── //\n//\n// Single structural class — no size/variant axes (a palette is one shape).\n// Kept as cva for barrel parity with the rest of the library + an override\n// seam if variants are ever added.\nconst commandVariants = cva('ddga-command');\n\n// ─── 2. Types ─── //\n\ntype CommandProps = React.ComponentProps<typeof CommandPrimitive> &\n VariantProps<typeof commandVariants>;\ntype CommandInputProps = React.ComponentProps<typeof CommandPrimitive.Input>;\ntype CommandListProps = React.ComponentProps<typeof CommandPrimitive.List>;\ntype CommandEmptyProps = React.ComponentProps<typeof CommandPrimitive.Empty>;\ntype CommandGroupProps = React.ComponentProps<typeof CommandPrimitive.Group>;\ntype CommandSeparatorProps = React.ComponentProps<typeof CommandPrimitive.Separator>;\n\ninterface CommandItemProps extends Omit<\n React.ComponentProps<typeof CommandPrimitive.Item>,\n 'onSelect' | 'value'\n> {\n /**\n * Stable value for filtering + the `onSelect` payload. Required: cmdk would\n * otherwise derive it from the rendered text, so a label / translation /\n * icon change would silently change what `onSelect` receives.\n */\n value: string;\n /** Leading icon — mirrors Menubar / DropdownMenu item icons. */\n startIcon?: React.ReactNode;\n /** Right-aligned keyboard hint, e.g. `\"⌘P\"` — mirrors Menubar / DropdownMenu. */\n shortcut?: React.ReactNode;\n /**\n * Fires when the item is chosen (click / Enter). Receives the item's\n * `value` (cmdk defaults it to the text content when `value` is omitted).\n *\n * Action-oriented: items run a command and don't track selection. Inside\n * `CommandDialog` the consumer closes the dialog here, e.g.\n * `onSelect={() => { setOpen(false); run(); }}`.\n */\n onSelect?: (value: string) => void;\n}\n\ninterface CommandDialogProps extends Pick<\n React.ComponentProps<typeof CommandPrimitive>,\n 'filter' | 'shouldFilter' | 'loop'\n> {\n /** Controlled open state. */\n open?: boolean;\n /** Initial open state when uncontrolled. */\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n /**\n * Key for the built-in document shortcut (with Cmd on macOS / Ctrl elsewhere).\n * Defaults to `'k'` (⌘K / Ctrl+K). Pass `false` to bind no listener and wire\n * your own. The modifier is fixed; only the key is configurable.\n */\n shortcut?: string | false;\n /** Accessible name → visually-hidden `DialogTitle`. Defaults to `\"Command palette\"`. */\n label?: React.ReactNode;\n /** Optional visually-hidden `DialogDescription`. */\n description?: React.ReactNode;\n className?: string;\n /** `CommandInput` + `CommandList` + groups / items. */\n children: React.ReactNode;\n}\n\n// ─── 3. Inline compound (cmdk passthroughs) ─── //\n\n/**\n * Inline command palette (cmdk root). Pass cmdk's `label` to give the search\n * input + listbox their accessible name — cmdk wires it via `aria-labelledby`,\n * which wins over any `aria-label` on `CommandInput`. `CommandDialog` sets this\n * for you from its `label`.\n */\nfunction Command({ className, ...props }: CommandProps) {\n return (\n <CommandPrimitive data-slot=\"command\" className={cn(commandVariants(), className)} {...props} />\n );\n}\n\nfunction CommandInput({\n className,\n placeholder,\n 'aria-label': ariaLabel,\n ...props\n}: CommandInputProps) {\n return (\n <div className=\"ddga-command__input-wrapper\" data-slot=\"command-input-wrapper\">\n <Search className=\"ddga-command__search-icon\" aria-hidden=\"true\" />\n <CommandPrimitive.Input\n data-slot=\"command-input\"\n className={cn('ddga-command__input', className)}\n placeholder={placeholder}\n // role=\"combobox\" needs an accessible name. Fall back to the placeholder\n // string so the input is named without forcing a separate label.\n aria-label={ariaLabel ?? (typeof placeholder === 'string' ? placeholder : undefined)}\n {...props}\n />\n </div>\n );\n}\n\nfunction CommandList({ className, ...props }: CommandListProps) {\n // Native overflow scroll — cmdk manages scroll-into-view against this\n // container; wrapping it in ScrollArea would fight that math.\n return (\n <CommandPrimitive.List\n data-slot=\"command-list\"\n className={cn('ddga-command__list', className)}\n {...props}\n />\n );\n}\n\nfunction CommandEmpty({ className, ...props }: CommandEmptyProps) {\n return (\n <CommandPrimitive.Empty\n data-slot=\"command-empty\"\n className={cn('ddga-command__empty', className)}\n {...props}\n />\n );\n}\n\nfunction CommandGroup({ className, ...props }: CommandGroupProps) {\n return (\n <CommandPrimitive.Group\n data-slot=\"command-group\"\n className={cn('ddga-command__group', className)}\n {...props}\n />\n );\n}\n\nfunction CommandSeparator({\n className,\n 'aria-hidden': ariaHidden = true,\n ...props\n}: CommandSeparatorProps) {\n // cmdk hardcodes role=\"separator\"; a separator is an invalid child of the\n // list's role=\"listbox\" (aria-required-children). It's purely decorative —\n // groups carry the semantics via their headings — so hide it from the a11y\n // tree. cmdk spreads our props before its own attrs, so aria-hidden survives.\n return (\n <CommandPrimitive.Separator\n aria-hidden={ariaHidden}\n data-slot=\"command-separator\"\n className={cn('ddga-command__separator', className)}\n {...props}\n />\n );\n}\n\nfunction CommandItem({\n startIcon,\n shortcut,\n className,\n children,\n keywords,\n ...props\n}: CommandItemProps) {\n // Make the visible label searchable. cmdk filters against `value` + `keywords`,\n // never the rendered text — so with a stable Latin `value` the label (e.g.\n // Arabic) would be unmatchable. When the label is a plain string (our common\n // case; icon/shortcut are separate props), fold it into keywords so typing the\n // label works in any language. `value` stays the stable `onSelect` id.\n const labelText = typeof children === 'string' ? children : undefined;\n const mergedKeywords =\n labelText && !keywords?.includes(labelText) ? [...(keywords ?? []), labelText] : keywords;\n return (\n <CommandPrimitive.Item\n data-slot=\"command-item\"\n className={cn('ddga-command__item', className)}\n keywords={mergedKeywords}\n {...props}\n >\n {startIcon != null && (\n <span className=\"ddga-command__item-icon\" aria-hidden=\"true\">\n {startIcon}\n </span>\n )}\n <span className=\"ddga-command__item-label\">{children}</span>\n {shortcut != null && <span className=\"ddga-command__item-shortcut\">{shortcut}</span>}\n </CommandPrimitive.Item>\n );\n}\n\n// ─── 4. Dialog surface (Radix Dialog + Command) ─── //\n\nfunction CommandDialog({\n open: controlledOpen,\n defaultOpen,\n onOpenChange,\n shortcut = 'k',\n label = 'Command palette',\n description,\n className,\n filter,\n shouldFilter,\n loop,\n children,\n}: CommandDialogProps) {\n const [internalOpen, setInternalOpen] = useState(defaultOpen ?? false);\n const isControlled = controlledOpen !== undefined;\n const open = isControlled ? controlledOpen : internalOpen;\n\n const setOpen = useCallback(\n (next: boolean) => {\n if (!isControlled) setInternalOpen(next);\n onOpenChange?.(next);\n },\n [isControlled, onOpenChange],\n );\n\n // Built-in ⌘K / Ctrl+K toggle (opt-out via `shortcut={false}`). Mirrors\n // Sidebar's Cmd/Ctrl+B. Bind the listener once (per shortcut) and read the\n // live open state through a ref so it isn't torn down on every toggle; goes\n // through `setOpen` so controlled + uncontrolled both work.\n const openRef = useRef(open);\n useEffect(() => {\n openRef.current = open;\n });\n useEffect(() => {\n if (typeof shortcut !== 'string') return;\n const key = shortcut.toLowerCase();\n const onKeyDown = (event: KeyboardEvent) => {\n if ((event.metaKey || event.ctrlKey) && event.key.toLowerCase() === key) {\n event.preventDefault();\n setOpen(!openRef.current);\n }\n };\n document.addEventListener('keydown', onKeyDown);\n return () => document.removeEventListener('keydown', onKeyDown);\n }, [shortcut, setOpen]);\n\n // Anchor the Portal to the DgaProvider body-level container so data-theme /\n // dir / theme vars inherit and the fixed overlay escapes ancestor\n // transform / overflow:hidden. Mirrors Modal; regression test asserts\n // containment + dark data-theme.\n const ctx = useContext(DgaContext);\n const portalContainer = ctx?.portalEl ?? ctx?.rootEl ?? undefined;\n\n return (\n <DialogPrimitive.Root open={open} onOpenChange={setOpen}>\n <DialogPrimitive.Portal container={portalContainer}>\n <DialogPrimitive.Overlay className=\"ddga-command__overlay\" data-slot=\"command-overlay\" />\n <DialogPrimitive.Content\n data-slot=\"command-dialog\"\n className={cn('ddga-command-dialog', className)}\n // Named by the visually-hidden title below. With no description,\n // opt out of Radix's missing-description dev warning via its\n // documented escape hatch (explicit aria-describedby={undefined}).\n {...(description == null ? { 'aria-describedby': undefined } : {})}\n >\n <DialogPrimitive.Title asChild>\n <VisuallyHidden.Root>{label}</VisuallyHidden.Root>\n </DialogPrimitive.Title>\n {description != null && (\n <DialogPrimitive.Description asChild>\n <VisuallyHidden.Root>{description}</VisuallyHidden.Root>\n </DialogPrimitive.Description>\n )}\n <Command\n data-slot=\"command-dialog-command\"\n className=\"ddga-command--dialog\"\n // Name cmdk's listbox + input with the dialog label (cmdk's `label`\n // wins over our per-input aria-label via aria-labelledby).\n label={typeof label === 'string' ? label : 'Command palette'}\n filter={filter}\n shouldFilter={shouldFilter}\n loop={loop}\n >\n {children}\n </Command>\n </DialogPrimitive.Content>\n </DialogPrimitive.Portal>\n </DialogPrimitive.Root>\n );\n}\n\n// ─── 5. Exports ─── //\n\nexport {\n Command,\n CommandInput,\n CommandList,\n CommandEmpty,\n CommandGroup,\n CommandItem,\n CommandSeparator,\n CommandDialog,\n commandVariants,\n};\nexport type {\n CommandProps,\n CommandInputProps,\n CommandListProps,\n CommandEmptyProps,\n CommandGroupProps,\n CommandSeparatorProps,\n CommandItemProps,\n CommandDialogProps,\n};\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Checkbox
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-T6RGNFKN.js";
|
|
4
4
|
import {
|
|
5
5
|
cn
|
|
6
6
|
} from "./chunk-7NTT2UXP.js";
|
|
@@ -178,4 +178,4 @@ export {
|
|
|
178
178
|
StructuredListHead,
|
|
179
179
|
StructuredListCell
|
|
180
180
|
};
|
|
181
|
-
//# sourceMappingURL=chunk-
|
|
181
|
+
//# sourceMappingURL=chunk-VAGYICPO.js.map
|
|
@@ -4,6 +4,9 @@
|
|
|
4
4
|
var _chunkYS2JJ73Mcjs = require('./chunk-YS2JJ73M.cjs');
|
|
5
5
|
|
|
6
6
|
|
|
7
|
+
var _chunkV6MXOJQ4cjs = require('./chunk-V6MXOJQ4.cjs');
|
|
8
|
+
|
|
9
|
+
|
|
7
10
|
var _chunk3UT22WQMcjs = require('./chunk-3UT22WQM.cjs');
|
|
8
11
|
|
|
9
12
|
|
|
@@ -12,9 +15,6 @@ var _chunkNH3KGR65cjs = require('./chunk-NH3KGR65.cjs');
|
|
|
12
15
|
|
|
13
16
|
var _chunkFQLVTLUIcjs = require('./chunk-FQLVTLUI.cjs');
|
|
14
17
|
|
|
15
|
-
|
|
16
|
-
var _chunkV6MXOJQ4cjs = require('./chunk-V6MXOJQ4.cjs');
|
|
17
|
-
|
|
18
18
|
// src/components/Select/Select.tsx
|
|
19
19
|
var _react = require('react');
|
|
20
20
|
var _radixui = require('radix-ui');
|
|
@@ -116,4 +116,4 @@ function SelectItem({ className, children, ...props }) {
|
|
|
116
116
|
|
|
117
117
|
|
|
118
118
|
exports.selectTriggerVariants = selectTriggerVariants; exports.Select = Select; exports.SelectItem = SelectItem;
|
|
119
|
-
//# sourceMappingURL=chunk-
|
|
119
|
+
//# sourceMappingURL=chunk-W46J3DNV.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-DVKPFWP2.cjs","../src/components/Select/Select.tsx"],"names":[],"mappings":"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","file":"/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-DVKPFWP2.cjs","sourcesContent":[null,"'use client';\n\nimport { useContext, type ReactNode } from 'react';\nimport { Select as SelectPrimitive } from 'radix-ui';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../utils/cn';\nimport { Check, ChevronDown } from '../../internal/icons';\nimport { useFieldA11y, FieldMessage } from '../../field';\nimport { DgaContext } from '../../providers/DgaContext';\n\n// ─── 1. Variants (cva) ─── //\n\n// Applied to the Radix Select.Trigger (the focusable button). Heights match\n// Input (32/36) so triggers and text inputs line up in a form row.\nconst selectTriggerVariants = cva('ddga-select-trigger', {\n variants: {\n size: {\n sm: 'ddga-select-trigger--sm',\n md: 'ddga-select-trigger--md',\n },\n error: {\n true: 'ddga-select-trigger--error',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n});\n\n// ─── 2. Types ─── //\n\n// We expose a closed shape (Trigger + Portal + Content + Viewport are\n// rendered internally) , consumers compose with `<SelectItem>` children.\n// Power-user use cases (custom trigger, grouped options, separators) get\n// added when there's a real need; YAGNI for v1.\n//\n// Radix owns the state model (`value` / `defaultValue` / `onValueChange` /\n// `open` / `onOpenChange` / `name` / `disabled` / `required` / `form`)\n// via SelectPrimitive.Root. `dir` is intentionally omitted , the wrapping\n// `Direction.Provider` in <DgaProvider> propagates direction to the portal.\ninterface SelectProps\n extends\n Omit<React.ComponentProps<typeof SelectPrimitive.Root>, 'children' | 'dir'>,\n VariantProps<typeof selectTriggerVariants> {\n /** Visible label above the trigger, associated via `htmlFor`/`id`. */\n label?: ReactNode;\n /** Hint shown below the trigger. Hidden while an error message is showing. */\n helperText?: ReactNode;\n /** Message shown below the trigger when `error` is true. */\n errorMessage?: ReactNode;\n /** Marks the field invalid: sets `aria-invalid` and error styling. */\n error?: boolean;\n /** Placeholder shown in the trigger when no value is selected. */\n placeholder?: ReactNode;\n /** `<SelectItem>` children, rendered inside the dropdown panel. */\n children: ReactNode;\n /** Caller-supplied id for the trigger; falls back to a generated one. */\n id?: string;\n /** Forwarded to the trigger (the focusable control). */\n className?: string;\n 'aria-label'?: string;\n 'aria-labelledby'?: string;\n}\n\ninterface SelectItemProps extends React.ComponentProps<typeof SelectPrimitive.Item> {\n /** The visible label for this item. */\n children: ReactNode;\n}\n\n// ─── 3. Components ─── //\n\nfunction Select({\n id: externalId,\n label,\n helperText,\n errorMessage,\n error,\n size,\n required,\n placeholder,\n className,\n children,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n ...rootProps\n}: SelectProps) {\n const { fieldId, errorId, helperId, hasError, hasErrorMessage, hasHelper, controlProps } =\n useFieldA11y({\n name: 'Select',\n id: externalId,\n label,\n error,\n errorMessage,\n helperText,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n });\n\n // Portal escape hatch: Radix mounts Select.Content under <body> by default,\n // which lives ABOVE DgaProvider's root in the DOM tree, so `data-theme`,\n // custom theme vars, and `.ddga-theme-*` classes set on that root never\n // reach the dropdown. Re-anchor to DgaProvider's body-mounted portal target,\n // which mirrors data-theme/dir/vars — so theme inheritance works (dark mode,\n // theming, consumer overrides) while still escaping any ancestor clipping.\n // Falls back to <body> when used standalone (no provider).\n const ctx = useContext(DgaContext);\n const portalContainer = ctx?.portalEl ?? ctx?.rootEl ?? undefined;\n\n return (\n <div data-slot=\"select-field\" className=\"ddga-field\">\n {label && (\n <label htmlFor={fieldId} className=\"ddga-select__label\">\n {label}\n {required && (\n <span aria-hidden=\"true\" className=\"ddga-select__required\">\n *\n </span>\n )}\n </label>\n )}\n <SelectPrimitive.Root required={required} {...rootProps}>\n <SelectPrimitive.Trigger\n // Spread Trigger-only ARIA after the field a11y contract so the\n // describedby/invalid wiring isn't clobbered. `aria-label`/\n // `aria-labelledby` name the focusable trigger directly — Radix's\n // `Root` is a non-DOM provider, so they must live here, not on it.\n {...controlProps}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n data-slot=\"select-trigger\"\n className={cn(selectTriggerVariants({ size, error: hasError }), className)}\n >\n <SelectPrimitive.Value placeholder={placeholder} />\n <SelectPrimitive.Icon asChild className=\"ddga-select__icon\">\n <ChevronDown aria-hidden=\"true\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n <SelectPrimitive.Portal container={portalContainer}>\n <SelectPrimitive.Content\n data-slot=\"select-content\"\n className=\"ddga-select-content\"\n // popper positioning keeps the panel next to the trigger and\n // exposes --radix-select-trigger-width for size matching in CSS.\n position=\"popper\"\n sideOffset={4}\n >\n <SelectPrimitive.Viewport className=\"ddga-select-viewport\">\n {children}\n </SelectPrimitive.Viewport>\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n </SelectPrimitive.Root>\n {hasErrorMessage && (\n <FieldMessage id={errorId} variant=\"error\">\n {errorMessage}\n </FieldMessage>\n )}\n {hasHelper && (\n <FieldMessage id={helperId} variant=\"helper\">\n {helperText}\n </FieldMessage>\n )}\n </div>\n );\n}\n\nfunction SelectItem({ className, children, ...props }: SelectItemProps) {\n return (\n <SelectPrimitive.Item\n {...props}\n data-slot=\"select-item\"\n className={cn('ddga-select-item', className)}\n >\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n <SelectPrimitive.ItemIndicator className=\"ddga-select-item__indicator\">\n <Check className=\"ddga-select-item__check\" aria-hidden=\"true\" />\n </SelectPrimitive.ItemIndicator>\n </SelectPrimitive.Item>\n );\n}\n\n// ─── 4. Exports ─── //\n\nexport { Select, SelectItem, selectTriggerVariants };\nexport type { SelectProps, SelectItemProps };\n"]}
|
|
1
|
+
{"version":3,"sources":["/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-W46J3DNV.cjs","../src/components/Select/Select.tsx"],"names":[],"mappings":"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","file":"/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-W46J3DNV.cjs","sourcesContent":[null,"'use client';\n\nimport { useContext, type ReactNode } from 'react';\nimport { Select as SelectPrimitive } from 'radix-ui';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../utils/cn';\nimport { Check, ChevronDown } from '../../internal/icons';\nimport { useFieldA11y, FieldMessage } from '../../field';\nimport { DgaContext } from '../../providers/DgaContext';\n\n// ─── 1. Variants (cva) ─── //\n\n// Applied to the Radix Select.Trigger (the focusable button). Heights match\n// Input (32/36) so triggers and text inputs line up in a form row.\nconst selectTriggerVariants = cva('ddga-select-trigger', {\n variants: {\n size: {\n sm: 'ddga-select-trigger--sm',\n md: 'ddga-select-trigger--md',\n },\n error: {\n true: 'ddga-select-trigger--error',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n});\n\n// ─── 2. Types ─── //\n\n// We expose a closed shape (Trigger + Portal + Content + Viewport are\n// rendered internally) , consumers compose with `<SelectItem>` children.\n// Power-user use cases (custom trigger, grouped options, separators) get\n// added when there's a real need; YAGNI for v1.\n//\n// Radix owns the state model (`value` / `defaultValue` / `onValueChange` /\n// `open` / `onOpenChange` / `name` / `disabled` / `required` / `form`)\n// via SelectPrimitive.Root. `dir` is intentionally omitted , the wrapping\n// `Direction.Provider` in <DgaProvider> propagates direction to the portal.\ninterface SelectProps\n extends\n Omit<React.ComponentProps<typeof SelectPrimitive.Root>, 'children' | 'dir'>,\n VariantProps<typeof selectTriggerVariants> {\n /** Visible label above the trigger, associated via `htmlFor`/`id`. */\n label?: ReactNode;\n /** Hint shown below the trigger. Hidden while an error message is showing. */\n helperText?: ReactNode;\n /** Message shown below the trigger when `error` is true. */\n errorMessage?: ReactNode;\n /** Marks the field invalid: sets `aria-invalid` and error styling. */\n error?: boolean;\n /** Placeholder shown in the trigger when no value is selected. */\n placeholder?: ReactNode;\n /** `<SelectItem>` children, rendered inside the dropdown panel. */\n children: ReactNode;\n /** Caller-supplied id for the trigger; falls back to a generated one. */\n id?: string;\n /** Forwarded to the trigger (the focusable control). */\n className?: string;\n 'aria-label'?: string;\n 'aria-labelledby'?: string;\n}\n\ninterface SelectItemProps extends React.ComponentProps<typeof SelectPrimitive.Item> {\n /** The visible label for this item. */\n children: ReactNode;\n}\n\n// ─── 3. Components ─── //\n\nfunction Select({\n id: externalId,\n label,\n helperText,\n errorMessage,\n error,\n size,\n required,\n placeholder,\n className,\n children,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n ...rootProps\n}: SelectProps) {\n const { fieldId, errorId, helperId, hasError, hasErrorMessage, hasHelper, controlProps } =\n useFieldA11y({\n name: 'Select',\n id: externalId,\n label,\n error,\n errorMessage,\n helperText,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n });\n\n // Portal escape hatch: Radix mounts Select.Content under <body> by default,\n // which lives ABOVE DgaProvider's root in the DOM tree, so `data-theme`,\n // custom theme vars, and `.ddga-theme-*` classes set on that root never\n // reach the dropdown. Re-anchor to DgaProvider's body-mounted portal target,\n // which mirrors data-theme/dir/vars — so theme inheritance works (dark mode,\n // theming, consumer overrides) while still escaping any ancestor clipping.\n // Falls back to <body> when used standalone (no provider).\n const ctx = useContext(DgaContext);\n const portalContainer = ctx?.portalEl ?? ctx?.rootEl ?? undefined;\n\n return (\n <div data-slot=\"select-field\" className=\"ddga-field\">\n {label && (\n <label htmlFor={fieldId} className=\"ddga-select__label\">\n {label}\n {required && (\n <span aria-hidden=\"true\" className=\"ddga-select__required\">\n *\n </span>\n )}\n </label>\n )}\n <SelectPrimitive.Root required={required} {...rootProps}>\n <SelectPrimitive.Trigger\n // Spread Trigger-only ARIA after the field a11y contract so the\n // describedby/invalid wiring isn't clobbered. `aria-label`/\n // `aria-labelledby` name the focusable trigger directly — Radix's\n // `Root` is a non-DOM provider, so they must live here, not on it.\n {...controlProps}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n data-slot=\"select-trigger\"\n className={cn(selectTriggerVariants({ size, error: hasError }), className)}\n >\n <SelectPrimitive.Value placeholder={placeholder} />\n <SelectPrimitive.Icon asChild className=\"ddga-select__icon\">\n <ChevronDown aria-hidden=\"true\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n <SelectPrimitive.Portal container={portalContainer}>\n <SelectPrimitive.Content\n data-slot=\"select-content\"\n className=\"ddga-select-content\"\n // popper positioning keeps the panel next to the trigger and\n // exposes --radix-select-trigger-width for size matching in CSS.\n position=\"popper\"\n sideOffset={4}\n >\n <SelectPrimitive.Viewport className=\"ddga-select-viewport\">\n {children}\n </SelectPrimitive.Viewport>\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n </SelectPrimitive.Root>\n {hasErrorMessage && (\n <FieldMessage id={errorId} variant=\"error\">\n {errorMessage}\n </FieldMessage>\n )}\n {hasHelper && (\n <FieldMessage id={helperId} variant=\"helper\">\n {helperText}\n </FieldMessage>\n )}\n </div>\n );\n}\n\nfunction SelectItem({ className, children, ...props }: SelectItemProps) {\n return (\n <SelectPrimitive.Item\n {...props}\n data-slot=\"select-item\"\n className={cn('ddga-select-item', className)}\n >\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n <SelectPrimitive.ItemIndicator className=\"ddga-select-item__indicator\">\n <Check className=\"ddga-select-item__check\" aria-hidden=\"true\" />\n </SelectPrimitive.ItemIndicator>\n </SelectPrimitive.Item>\n );\n}\n\n// ─── 4. Exports ─── //\n\nexport { Select, SelectItem, selectTriggerVariants };\nexport type { SelectProps, SelectItemProps };\n"]}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Close
|
|
3
3
|
} from "./chunk-FFGALWM2.js";
|
|
4
|
-
import {
|
|
5
|
-
DgaContext
|
|
6
|
-
} from "./chunk-TMXABSFE.js";
|
|
7
4
|
import {
|
|
8
5
|
cn
|
|
9
6
|
} from "./chunk-7NTT2UXP.js";
|
|
7
|
+
import {
|
|
8
|
+
DgaContext
|
|
9
|
+
} from "./chunk-TMXABSFE.js";
|
|
10
10
|
|
|
11
11
|
// src/components/SlideoutMenu/SlideoutMenu.tsx
|
|
12
12
|
import { useContext, useId } from "react";
|
|
@@ -66,7 +66,7 @@ function SlideoutMenuContent({
|
|
|
66
66
|
}
|
|
67
67
|
function SlideoutMenuHeader({
|
|
68
68
|
icon,
|
|
69
|
-
|
|
69
|
+
showCloseButton = true,
|
|
70
70
|
closeLabel = "Close",
|
|
71
71
|
className,
|
|
72
72
|
children,
|
|
@@ -91,7 +91,7 @@ function SlideoutMenuHeader({
|
|
|
91
91
|
) : null,
|
|
92
92
|
/* @__PURE__ */ jsx("div", { className: "ddga-slideout-menu__header-text", children })
|
|
93
93
|
] }),
|
|
94
|
-
|
|
94
|
+
showCloseButton ? /* @__PURE__ */ jsx(
|
|
95
95
|
DialogPrimitive.Close,
|
|
96
96
|
{
|
|
97
97
|
className: "ddga-slideout-menu__close",
|
|
@@ -227,4 +227,4 @@ export {
|
|
|
227
227
|
SlideoutMenuFooter,
|
|
228
228
|
SlideoutMenuClose
|
|
229
229
|
};
|
|
230
|
-
//# sourceMappingURL=chunk-
|
|
230
|
+
//# sourceMappingURL=chunk-WU3IBHA4.js.map
|