@mieweb/ui 0.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/LICENSE +21 -0
- package/README.md +696 -0
- package/dist/brands/bluehive.cjs +18 -0
- package/dist/brands/bluehive.cjs.map +1 -0
- package/dist/brands/bluehive.css +136 -0
- package/dist/brands/bluehive.d.cts +16 -0
- package/dist/brands/bluehive.d.ts +16 -0
- package/dist/brands/bluehive.js +3 -0
- package/dist/brands/bluehive.js.map +1 -0
- package/dist/brands/enterprise-health.css +260 -0
- package/dist/brands/index.cjs +55 -0
- package/dist/brands/index.cjs.map +1 -0
- package/dist/brands/index.d.cts +100 -0
- package/dist/brands/index.d.ts +100 -0
- package/dist/brands/index.js +10 -0
- package/dist/brands/index.js.map +1 -0
- package/dist/brands/mieweb.css +138 -0
- package/dist/brands/types.cjs +20 -0
- package/dist/brands/types.cjs.map +1 -0
- package/dist/brands/types.d.cts +188 -0
- package/dist/brands/types.d.ts +188 -0
- package/dist/brands/types.js +3 -0
- package/dist/brands/types.js.map +1 -0
- package/dist/brands/waggleline.css +164 -0
- package/dist/brands/webchart.css +138 -0
- package/dist/chunk-265CFCCX.js +173 -0
- package/dist/chunk-265CFCCX.js.map +1 -0
- package/dist/chunk-2J2V4TMJ.cjs +139 -0
- package/dist/chunk-2J2V4TMJ.cjs.map +1 -0
- package/dist/chunk-2O7D6F67.cjs +63 -0
- package/dist/chunk-2O7D6F67.cjs.map +1 -0
- package/dist/chunk-3NJ72QU6.js +55 -0
- package/dist/chunk-3NJ72QU6.js.map +1 -0
- package/dist/chunk-4AWW5WPF.js +161 -0
- package/dist/chunk-4AWW5WPF.js.map +1 -0
- package/dist/chunk-4LNS5QDP.cjs +84 -0
- package/dist/chunk-4LNS5QDP.cjs.map +1 -0
- package/dist/chunk-4LTN2LEN.js +79 -0
- package/dist/chunk-4LTN2LEN.js.map +1 -0
- package/dist/chunk-4MHTSFPX.js +205 -0
- package/dist/chunk-4MHTSFPX.js.map +1 -0
- package/dist/chunk-4YRAEFYW.js +233 -0
- package/dist/chunk-4YRAEFYW.js.map +1 -0
- package/dist/chunk-53K3KWXQ.cjs +753 -0
- package/dist/chunk-53K3KWXQ.cjs.map +1 -0
- package/dist/chunk-6DP6RKUA.cjs +15 -0
- package/dist/chunk-6DP6RKUA.cjs.map +1 -0
- package/dist/chunk-6HFFWEM3.cjs +22 -0
- package/dist/chunk-6HFFWEM3.cjs.map +1 -0
- package/dist/chunk-6OCIIIAI.js +128 -0
- package/dist/chunk-6OCIIIAI.js.map +1 -0
- package/dist/chunk-6Q4SU72T.js +300 -0
- package/dist/chunk-6Q4SU72T.js.map +1 -0
- package/dist/chunk-AU5ADTYD.cjs +326 -0
- package/dist/chunk-AU5ADTYD.cjs.map +1 -0
- package/dist/chunk-AWIULTJW.js +190 -0
- package/dist/chunk-AWIULTJW.js.map +1 -0
- package/dist/chunk-B26RIQ5R.js +97 -0
- package/dist/chunk-B26RIQ5R.js.map +1 -0
- package/dist/chunk-B3L43JGH.js +98 -0
- package/dist/chunk-B3L43JGH.js.map +1 -0
- package/dist/chunk-B7DA35BY.cjs +496 -0
- package/dist/chunk-B7DA35BY.cjs.map +1 -0
- package/dist/chunk-B7YGVKTE.cjs +184 -0
- package/dist/chunk-B7YGVKTE.cjs.map +1 -0
- package/dist/chunk-BR2XGATJ.cjs +40 -0
- package/dist/chunk-BR2XGATJ.cjs.map +1 -0
- package/dist/chunk-BTJHYGPI.cjs +27 -0
- package/dist/chunk-BTJHYGPI.cjs.map +1 -0
- package/dist/chunk-BXK5TNJE.cjs +329 -0
- package/dist/chunk-BXK5TNJE.cjs.map +1 -0
- package/dist/chunk-C6MDPPPL.js +82 -0
- package/dist/chunk-C6MDPPPL.js.map +1 -0
- package/dist/chunk-CEHWXAAI.js +22 -0
- package/dist/chunk-CEHWXAAI.js.map +1 -0
- package/dist/chunk-CLNOI5J7.js +38 -0
- package/dist/chunk-CLNOI5J7.js.map +1 -0
- package/dist/chunk-CP7NPDQW.js +99 -0
- package/dist/chunk-CP7NPDQW.js.map +1 -0
- package/dist/chunk-CQCYXHCU.cjs +256 -0
- package/dist/chunk-CQCYXHCU.cjs.map +1 -0
- package/dist/chunk-D5IBXXF2.js +243 -0
- package/dist/chunk-D5IBXXF2.js.map +1 -0
- package/dist/chunk-DMA74PZ7.js +240 -0
- package/dist/chunk-DMA74PZ7.js.map +1 -0
- package/dist/chunk-EF46XW4Z.cjs +270 -0
- package/dist/chunk-EF46XW4Z.cjs.map +1 -0
- package/dist/chunk-EKIQE524.cjs +78 -0
- package/dist/chunk-EKIQE524.cjs.map +1 -0
- package/dist/chunk-F3SOEIN2.js +11 -0
- package/dist/chunk-F3SOEIN2.js.map +1 -0
- package/dist/chunk-FFJVCQ5R.cjs +128 -0
- package/dist/chunk-FFJVCQ5R.cjs.map +1 -0
- package/dist/chunk-FHY3K6PL.cjs +24 -0
- package/dist/chunk-FHY3K6PL.cjs.map +1 -0
- package/dist/chunk-FIUNOH6W.js +13 -0
- package/dist/chunk-FIUNOH6W.js.map +1 -0
- package/dist/chunk-FIXAVBUA.cjs +200 -0
- package/dist/chunk-FIXAVBUA.cjs.map +1 -0
- package/dist/chunk-FQ5G7J24.js +297 -0
- package/dist/chunk-FQ5G7J24.js.map +1 -0
- package/dist/chunk-G2DOD34H.js +215 -0
- package/dist/chunk-G2DOD34H.js.map +1 -0
- package/dist/chunk-GV5JQBPX.js +110 -0
- package/dist/chunk-GV5JQBPX.js.map +1 -0
- package/dist/chunk-H2CIKJQI.js +32 -0
- package/dist/chunk-H2CIKJQI.js.map +1 -0
- package/dist/chunk-HB7C7NB5.js +20 -0
- package/dist/chunk-HB7C7NB5.js.map +1 -0
- package/dist/chunk-HLW3XD5R.cjs +322 -0
- package/dist/chunk-HLW3XD5R.cjs.map +1 -0
- package/dist/chunk-HRA4FUO6.cjs +425 -0
- package/dist/chunk-HRA4FUO6.cjs.map +1 -0
- package/dist/chunk-IY7UQPDO.cjs +122 -0
- package/dist/chunk-IY7UQPDO.cjs.map +1 -0
- package/dist/chunk-JFAXLE2J.js +217 -0
- package/dist/chunk-JFAXLE2J.js.map +1 -0
- package/dist/chunk-JYMQJ32S.cjs +115 -0
- package/dist/chunk-JYMQJ32S.cjs.map +1 -0
- package/dist/chunk-KJOFWJHV.js +406 -0
- package/dist/chunk-KJOFWJHV.js.map +1 -0
- package/dist/chunk-KJZNEVYM.js +61 -0
- package/dist/chunk-KJZNEVYM.js.map +1 -0
- package/dist/chunk-KMN7JX2X.cjs +67 -0
- package/dist/chunk-KMN7JX2X.cjs.map +1 -0
- package/dist/chunk-LEE3NMNP.cjs +429 -0
- package/dist/chunk-LEE3NMNP.cjs.map +1 -0
- package/dist/chunk-LZEY55QZ.cjs +219 -0
- package/dist/chunk-LZEY55QZ.cjs.map +1 -0
- package/dist/chunk-MKJDBXX4.cjs +171 -0
- package/dist/chunk-MKJDBXX4.cjs.map +1 -0
- package/dist/chunk-MTZPVOP6.js +99 -0
- package/dist/chunk-MTZPVOP6.js.map +1 -0
- package/dist/chunk-N3QTYHRZ.cjs +134 -0
- package/dist/chunk-N3QTYHRZ.cjs.map +1 -0
- package/dist/chunk-N5EKL4DH.js +148 -0
- package/dist/chunk-N5EKL4DH.js.map +1 -0
- package/dist/chunk-NAATBUHR.cjs +231 -0
- package/dist/chunk-NAATBUHR.cjs.map +1 -0
- package/dist/chunk-NH2JVQ6V.cjs +272 -0
- package/dist/chunk-NH2JVQ6V.cjs.map +1 -0
- package/dist/chunk-NIHESA7O.js +114 -0
- package/dist/chunk-NIHESA7O.js.map +1 -0
- package/dist/chunk-NXRLGHEC.js +98 -0
- package/dist/chunk-NXRLGHEC.js.map +1 -0
- package/dist/chunk-O5HS7ZND.cjs +81 -0
- package/dist/chunk-O5HS7ZND.cjs.map +1 -0
- package/dist/chunk-O7WRE2WX.js +195 -0
- package/dist/chunk-O7WRE2WX.js.map +1 -0
- package/dist/chunk-ONWOB76P.js +319 -0
- package/dist/chunk-ONWOB76P.js.map +1 -0
- package/dist/chunk-OR5DRJCW.cjs +13 -0
- package/dist/chunk-OR5DRJCW.cjs.map +1 -0
- package/dist/chunk-ORUPC5TV.cjs +244 -0
- package/dist/chunk-ORUPC5TV.cjs.map +1 -0
- package/dist/chunk-OT36EMM5.js +22 -0
- package/dist/chunk-OT36EMM5.js.map +1 -0
- package/dist/chunk-OW2BWGST.js +238 -0
- package/dist/chunk-OW2BWGST.js.map +1 -0
- package/dist/chunk-OWPWP46L.js +92 -0
- package/dist/chunk-OWPWP46L.js.map +1 -0
- package/dist/chunk-P52GA3GJ.cjs +101 -0
- package/dist/chunk-P52GA3GJ.cjs.map +1 -0
- package/dist/chunk-PEFJAWNR.cjs +121 -0
- package/dist/chunk-PEFJAWNR.cjs.map +1 -0
- package/dist/chunk-PF3XWKE5.cjs +343 -0
- package/dist/chunk-PF3XWKE5.cjs.map +1 -0
- package/dist/chunk-QBWVTJKF.js +548 -0
- package/dist/chunk-QBWVTJKF.js.map +1 -0
- package/dist/chunk-QDGZBDBI.cjs +99 -0
- package/dist/chunk-QDGZBDBI.cjs.map +1 -0
- package/dist/chunk-QL2YTVTR.js +163 -0
- package/dist/chunk-QL2YTVTR.js.map +1 -0
- package/dist/chunk-QYJ7RQJ2.cjs +239 -0
- package/dist/chunk-QYJ7RQJ2.cjs.map +1 -0
- package/dist/chunk-QZLRB3UG.js +727 -0
- package/dist/chunk-QZLRB3UG.js.map +1 -0
- package/dist/chunk-R4DM4635.cjs +109 -0
- package/dist/chunk-R4DM4635.cjs.map +1 -0
- package/dist/chunk-RCMF6KZA.js +75 -0
- package/dist/chunk-RCMF6KZA.js.map +1 -0
- package/dist/chunk-RRQGH7C5.cjs +187 -0
- package/dist/chunk-RRQGH7C5.cjs.map +1 -0
- package/dist/chunk-S6UNPMAS.cjs +84 -0
- package/dist/chunk-S6UNPMAS.cjs.map +1 -0
- package/dist/chunk-SJ3BF4BO.cjs +199 -0
- package/dist/chunk-SJ3BF4BO.cjs.map +1 -0
- package/dist/chunk-SN52QMRT.js +58 -0
- package/dist/chunk-SN52QMRT.js.map +1 -0
- package/dist/chunk-SOFX4T7M.js +124 -0
- package/dist/chunk-SOFX4T7M.js.map +1 -0
- package/dist/chunk-SWMRCGL4.cjs +24 -0
- package/dist/chunk-SWMRCGL4.cjs.map +1 -0
- package/dist/chunk-SWV5E75F.cjs +94 -0
- package/dist/chunk-SWV5E75F.cjs.map +1 -0
- package/dist/chunk-T4ME7QCT.js +22 -0
- package/dist/chunk-T4ME7QCT.js.map +1 -0
- package/dist/chunk-TA6FVVCM.js +207 -0
- package/dist/chunk-TA6FVVCM.js.map +1 -0
- package/dist/chunk-UHSPAFY6.js +82 -0
- package/dist/chunk-UHSPAFY6.js.map +1 -0
- package/dist/chunk-ULOA7WBW.js +82 -0
- package/dist/chunk-ULOA7WBW.js.map +1 -0
- package/dist/chunk-UZUBLXVC.js +307 -0
- package/dist/chunk-UZUBLXVC.js.map +1 -0
- package/dist/chunk-VDMQCSXT.cjs +234 -0
- package/dist/chunk-VDMQCSXT.cjs.map +1 -0
- package/dist/chunk-VV4N4WY6.cjs +121 -0
- package/dist/chunk-VV4N4WY6.cjs.map +1 -0
- package/dist/chunk-VWXGUNBR.cjs +574 -0
- package/dist/chunk-VWXGUNBR.cjs.map +1 -0
- package/dist/chunk-WN2FJE23.js +474 -0
- package/dist/chunk-WN2FJE23.js.map +1 -0
- package/dist/chunk-XHJGYBYG.cjs +262 -0
- package/dist/chunk-XHJGYBYG.cjs.map +1 -0
- package/dist/chunk-XXOBTAKA.js +390 -0
- package/dist/chunk-XXOBTAKA.js.map +1 -0
- package/dist/chunk-Z3TFPXVN.cjs +84 -0
- package/dist/chunk-Z3TFPXVN.cjs.map +1 -0
- package/dist/chunk-ZJCPW6MS.cjs +54 -0
- package/dist/chunk-ZJCPW6MS.cjs.map +1 -0
- package/dist/chunk-ZO46CFVN.cjs +4 -0
- package/dist/chunk-ZO46CFVN.cjs.map +1 -0
- package/dist/chunk-ZQ4XMJH7.js +3 -0
- package/dist/chunk-ZQ4XMJH7.js.map +1 -0
- package/dist/components/Alert/index.cjs +25 -0
- package/dist/components/Alert/index.cjs.map +1 -0
- package/dist/components/Alert/index.d.cts +39 -0
- package/dist/components/Alert/index.d.ts +39 -0
- package/dist/components/Alert/index.js +4 -0
- package/dist/components/Alert/index.js.map +1 -0
- package/dist/components/AudioPlayer/index.cjs +29 -0
- package/dist/components/AudioPlayer/index.cjs.map +1 -0
- package/dist/components/AudioPlayer/index.d.cts +83 -0
- package/dist/components/AudioPlayer/index.d.ts +83 -0
- package/dist/components/AudioPlayer/index.js +4 -0
- package/dist/components/AudioPlayer/index.js.map +1 -0
- package/dist/components/AudioRecorder/index.cjs +29 -0
- package/dist/components/AudioRecorder/index.cjs.map +1 -0
- package/dist/components/AudioRecorder/index.d.cts +106 -0
- package/dist/components/AudioRecorder/index.d.ts +106 -0
- package/dist/components/AudioRecorder/index.js +4 -0
- package/dist/components/AudioRecorder/index.js.map +1 -0
- package/dist/components/Avatar/index.cjs +25 -0
- package/dist/components/Avatar/index.cjs.map +1 -0
- package/dist/components/Avatar/index.d.cts +62 -0
- package/dist/components/Avatar/index.d.ts +62 -0
- package/dist/components/Avatar/index.js +4 -0
- package/dist/components/Avatar/index.js.map +1 -0
- package/dist/components/Badge/index.cjs +17 -0
- package/dist/components/Badge/index.cjs.map +1 -0
- package/dist/components/Badge/index.d.cts +25 -0
- package/dist/components/Badge/index.d.ts +25 -0
- package/dist/components/Badge/index.js +4 -0
- package/dist/components/Badge/index.js.map +1 -0
- package/dist/components/Breadcrumb/index.cjs +17 -0
- package/dist/components/Breadcrumb/index.cjs.map +1 -0
- package/dist/components/Breadcrumb/index.d.cts +47 -0
- package/dist/components/Breadcrumb/index.d.ts +47 -0
- package/dist/components/Breadcrumb/index.js +4 -0
- package/dist/components/Breadcrumb/index.js.map +1 -0
- package/dist/components/Button/index.cjs +17 -0
- package/dist/components/Button/index.cjs.map +1 -0
- package/dist/components/Button/index.d.cts +32 -0
- package/dist/components/Button/index.d.ts +32 -0
- package/dist/components/Button/index.js +4 -0
- package/dist/components/Button/index.js.map +1 -0
- package/dist/components/Card/index.cjs +65 -0
- package/dist/components/Card/index.cjs.map +1 -0
- package/dist/components/Card/index.d.cts +119 -0
- package/dist/components/Card/index.d.ts +119 -0
- package/dist/components/Card/index.js +4 -0
- package/dist/components/Card/index.js.map +1 -0
- package/dist/components/Checkbox/index.cjs +21 -0
- package/dist/components/Checkbox/index.cjs.map +1 -0
- package/dist/components/Checkbox/index.d.cts +63 -0
- package/dist/components/Checkbox/index.d.ts +63 -0
- package/dist/components/Checkbox/index.js +4 -0
- package/dist/components/Checkbox/index.js.map +1 -0
- package/dist/components/DateInput/index.cjs +15 -0
- package/dist/components/DateInput/index.cjs.map +1 -0
- package/dist/components/DateInput/index.d.cts +55 -0
- package/dist/components/DateInput/index.d.ts +55 -0
- package/dist/components/DateInput/index.js +6 -0
- package/dist/components/DateInput/index.js.map +1 -0
- package/dist/components/Dropdown/index.cjs +35 -0
- package/dist/components/Dropdown/index.cjs.map +1 -0
- package/dist/components/Dropdown/index.d.cts +102 -0
- package/dist/components/Dropdown/index.d.ts +102 -0
- package/dist/components/Dropdown/index.js +6 -0
- package/dist/components/Dropdown/index.js.map +1 -0
- package/dist/components/Input/index.cjs +17 -0
- package/dist/components/Input/index.cjs.map +1 -0
- package/dist/components/Input/index.d.cts +32 -0
- package/dist/components/Input/index.d.ts +32 -0
- package/dist/components/Input/index.js +4 -0
- package/dist/components/Input/index.js.map +1 -0
- package/dist/components/Modal/index.cjs +43 -0
- package/dist/components/Modal/index.cjs.map +1 -0
- package/dist/components/Modal/index.d.cts +82 -0
- package/dist/components/Modal/index.d.ts +82 -0
- package/dist/components/Modal/index.js +6 -0
- package/dist/components/Modal/index.js.map +1 -0
- package/dist/components/Pagination/index.cjs +21 -0
- package/dist/components/Pagination/index.cjs.map +1 -0
- package/dist/components/Pagination/index.d.cts +78 -0
- package/dist/components/Pagination/index.d.ts +78 -0
- package/dist/components/Pagination/index.js +4 -0
- package/dist/components/Pagination/index.js.map +1 -0
- package/dist/components/PhoneInput/index.cjs +19 -0
- package/dist/components/PhoneInput/index.cjs.map +1 -0
- package/dist/components/PhoneInput/index.d.cts +80 -0
- package/dist/components/PhoneInput/index.d.ts +80 -0
- package/dist/components/PhoneInput/index.js +6 -0
- package/dist/components/PhoneInput/index.js.map +1 -0
- package/dist/components/Progress/index.cjs +29 -0
- package/dist/components/Progress/index.cjs.map +1 -0
- package/dist/components/Progress/index.d.cts +76 -0
- package/dist/components/Progress/index.d.ts +76 -0
- package/dist/components/Progress/index.js +4 -0
- package/dist/components/Progress/index.js.map +1 -0
- package/dist/components/QuickAction/index.cjs +29 -0
- package/dist/components/QuickAction/index.cjs.map +1 -0
- package/dist/components/QuickAction/index.d.cts +78 -0
- package/dist/components/QuickAction/index.d.ts +78 -0
- package/dist/components/QuickAction/index.js +4 -0
- package/dist/components/QuickAction/index.js.map +1 -0
- package/dist/components/Radio/index.cjs +21 -0
- package/dist/components/Radio/index.cjs.map +1 -0
- package/dist/components/Radio/index.d.cts +72 -0
- package/dist/components/Radio/index.d.ts +72 -0
- package/dist/components/Radio/index.js +4 -0
- package/dist/components/Radio/index.js.map +1 -0
- package/dist/components/RecordButton/index.cjs +25 -0
- package/dist/components/RecordButton/index.cjs.map +1 -0
- package/dist/components/RecordButton/index.d.cts +83 -0
- package/dist/components/RecordButton/index.d.ts +83 -0
- package/dist/components/RecordButton/index.js +4 -0
- package/dist/components/RecordButton/index.js.map +1 -0
- package/dist/components/SchedulePicker/index.cjs +45 -0
- package/dist/components/SchedulePicker/index.cjs.map +1 -0
- package/dist/components/SchedulePicker/index.d.cts +111 -0
- package/dist/components/SchedulePicker/index.d.ts +111 -0
- package/dist/components/SchedulePicker/index.js +4 -0
- package/dist/components/SchedulePicker/index.js.map +1 -0
- package/dist/components/Select/index.cjs +19 -0
- package/dist/components/Select/index.cjs.map +1 -0
- package/dist/components/Select/index.d.cts +79 -0
- package/dist/components/Select/index.d.ts +79 -0
- package/dist/components/Select/index.js +6 -0
- package/dist/components/Select/index.js.map +1 -0
- package/dist/components/Skeleton/index.cjs +29 -0
- package/dist/components/Skeleton/index.cjs.map +1 -0
- package/dist/components/Skeleton/index.d.cts +96 -0
- package/dist/components/Skeleton/index.d.ts +96 -0
- package/dist/components/Skeleton/index.js +4 -0
- package/dist/components/Skeleton/index.js.map +1 -0
- package/dist/components/Spinner/index.cjs +25 -0
- package/dist/components/Spinner/index.cjs.map +1 -0
- package/dist/components/Spinner/index.d.cts +67 -0
- package/dist/components/Spinner/index.d.ts +67 -0
- package/dist/components/Spinner/index.js +4 -0
- package/dist/components/Spinner/index.js.map +1 -0
- package/dist/components/Switch/index.cjs +21 -0
- package/dist/components/Switch/index.cjs.map +1 -0
- package/dist/components/Switch/index.d.cts +41 -0
- package/dist/components/Switch/index.d.ts +41 -0
- package/dist/components/Switch/index.js +4 -0
- package/dist/components/Switch/index.js.map +1 -0
- package/dist/components/Table/index.cjs +41 -0
- package/dist/components/Table/index.cjs.map +1 -0
- package/dist/components/Table/index.d.cts +54 -0
- package/dist/components/Table/index.d.ts +54 -0
- package/dist/components/Table/index.js +4 -0
- package/dist/components/Table/index.js.map +1 -0
- package/dist/components/Tabs/index.cjs +33 -0
- package/dist/components/Tabs/index.cjs.map +1 -0
- package/dist/components/Tabs/index.d.cts +70 -0
- package/dist/components/Tabs/index.d.ts +70 -0
- package/dist/components/Tabs/index.js +4 -0
- package/dist/components/Tabs/index.js.map +1 -0
- package/dist/components/Text/index.cjs +21 -0
- package/dist/components/Text/index.cjs.map +1 -0
- package/dist/components/Text/index.d.cts +35 -0
- package/dist/components/Text/index.d.ts +35 -0
- package/dist/components/Text/index.js +4 -0
- package/dist/components/Text/index.js.map +1 -0
- package/dist/components/Textarea/index.cjs +17 -0
- package/dist/components/Textarea/index.cjs.map +1 -0
- package/dist/components/Textarea/index.d.cts +42 -0
- package/dist/components/Textarea/index.d.ts +42 -0
- package/dist/components/Textarea/index.js +4 -0
- package/dist/components/Textarea/index.js.map +1 -0
- package/dist/components/ThemeProvider/index.cjs +36 -0
- package/dist/components/ThemeProvider/index.cjs.map +1 -0
- package/dist/components/ThemeProvider/index.d.cts +121 -0
- package/dist/components/ThemeProvider/index.d.ts +121 -0
- package/dist/components/ThemeProvider/index.js +7 -0
- package/dist/components/ThemeProvider/index.js.map +1 -0
- package/dist/components/Tooltip/index.cjs +14 -0
- package/dist/components/Tooltip/index.cjs.map +1 -0
- package/dist/components/Tooltip/index.d.cts +55 -0
- package/dist/components/Tooltip/index.d.ts +55 -0
- package/dist/components/Tooltip/index.js +5 -0
- package/dist/components/Tooltip/index.js.map +1 -0
- package/dist/components/VisuallyHidden/index.cjs +12 -0
- package/dist/components/VisuallyHidden/index.cjs.map +1 -0
- package/dist/components/VisuallyHidden/index.d.cts +20 -0
- package/dist/components/VisuallyHidden/index.d.ts +20 -0
- package/dist/components/VisuallyHidden/index.js +3 -0
- package/dist/components/VisuallyHidden/index.js.map +1 -0
- package/dist/default-LIRPABBK.js +3 -0
- package/dist/default-LIRPABBK.js.map +1 -0
- package/dist/default-ZGHKI5WF.cjs +18 -0
- package/dist/default-ZGHKI5WF.cjs.map +1 -0
- package/dist/enterprise-health-ORQQOLM3.js +3 -0
- package/dist/enterprise-health-ORQQOLM3.js.map +1 -0
- package/dist/enterprise-health-UDI25OCV.cjs +18 -0
- package/dist/enterprise-health-UDI25OCV.cjs.map +1 -0
- package/dist/hooks/index.cjs +69 -0
- package/dist/hooks/index.cjs.map +1 -0
- package/dist/hooks/index.d.cts +179 -0
- package/dist/hooks/index.d.ts +179 -0
- package/dist/hooks/index.js +8 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/index.cjs +33153 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +8188 -0
- package/dist/index.d.ts +8188 -0
- package/dist/index.js +32162 -0
- package/dist/index.js.map +1 -0
- package/dist/mieweb-PV2YKYO7.js +3 -0
- package/dist/mieweb-PV2YKYO7.js.map +1 -0
- package/dist/mieweb-UJABK5XX.cjs +18 -0
- package/dist/mieweb-UJABK5XX.cjs.map +1 -0
- package/dist/styles.css +2 -0
- package/dist/tailwind-preset.cjs +22 -0
- package/dist/tailwind-preset.cjs.map +1 -0
- package/dist/tailwind-preset.d.cts +39 -0
- package/dist/tailwind-preset.d.ts +39 -0
- package/dist/tailwind-preset.js +3 -0
- package/dist/tailwind-preset.js.map +1 -0
- package/dist/useTheme-B9SWu6ui.d.cts +24 -0
- package/dist/useTheme-B9SWu6ui.d.ts +24 -0
- package/dist/utils/index.cjs +63 -0
- package/dist/utils/index.cjs.map +1 -0
- package/dist/utils/index.d.cts +73 -0
- package/dist/utils/index.d.ts +73 -0
- package/dist/utils/index.js +6 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/waggleline-6IGA66HR.cjs +18 -0
- package/dist/waggleline-6IGA66HR.cjs.map +1 -0
- package/dist/waggleline-BMUYAFJF.js +3 -0
- package/dist/waggleline-BMUYAFJF.js.map +1 -0
- package/dist/webchart-2SLO5ICI.js +3 -0
- package/dist/webchart-2SLO5ICI.js.map +1 -0
- package/dist/webchart-EHVGP46N.cjs +18 -0
- package/dist/webchart-EHVGP46N.cjs.map +1 -0
- package/package.json +212 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/QuickAction/QuickAction.tsx"],"names":[],"mappings":";;;;;AAIA,IAAM,uBAAA,GAA0B,GAAA;AAAA,EAC9B,CAAC,+CAA+C,WAAW,CAAA;AAAA,EAC3D;AAAA,IACE,QAAA,EAAU;AAAA,MACR,KAAA,EAAO;AAAA,QACL,OAAA,EACE,8EAAA;AAAA,QACF,KAAA,EACE,8EAAA;AAAA,QACF,MAAA,EACE,0EAAA;AAAA,QACF,MAAA,EACE,0EAAA;AAAA,QACF,IAAA,EAAM,8DAAA;AAAA,QACN,GAAA,EAAK,kEAAA;AAAA,QACL,KAAA,EACE,sEAAA;AAAA,QACF,OAAA,EACE;AAAA;AACJ,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,KAAA,EAAO;AAAA;AACT;AAEJ;AAEA,IAAM,mBAAA,GAAsB,GAAA;AAAA,EAC1B;AAAA,IACE,yDAAA;AAAA,IACA,gCAAA;AAAA,IACA,6BAAA;AAAA,IACA,8CAAA;AAAA,IACA,6CAAA;AAAA,IACA,4DAAA;AAAA,IACA,4GAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,QAAA,EAAU;AAAA,QACR,IAAA,EAAM;AAAA,UACJ,+BAAA;AAAA,UACA,yCAAA;AAAA,UACA;AAAA,SACF;AAAA,QACA,KAAA,EAAO;AAAA;AACT,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,QAAA,EAAU;AAAA;AACZ;AAEJ;AA+CA,IAAM,WAAA,GAAoB,KAAA,CAAA,UAAA;AAAA,EACxB,CACE;AAAA,IACE,SAAA;AAAA,IACA,KAAA;AAAA,IACA,QAAA;AAAA,IACA,IAAA;AAAA,IACA,KAAA,GAAQ,SAAA;AAAA,IACR,QAAA;AAAA,IACA,EAAA,GAAK,QAAA;AAAA,IACL,IAAA;AAAA,IACA,GAAG;AAAA,KAEL,GAAA,KACG;AACH,IAAA,MAAM,0BACJ,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,KAAA,EAAA,EAAI,WAAW,EAAA,CAAG,uBAAA,CAAwB,EAAE,KAAA,EAAO,CAAC,CAAA,EAAI,QAAA,EAAA,IAAA,EAAK,CAAA;AAAA,2BAC7D,KAAA,EAAA,EACC,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,8CAAA,EACZ,QAAA,EAAA,KAAA,EACH,CAAA;AAAA,wBACA,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,gDAAA,EACZ,QAAA,EAAA,QAAA,EACH;AAAA,OAAA,EACF;AAAA,KAAA,EACF,CAAA;AAGF,IAAA,IAAI,EAAA,KAAO,OAAO,IAAA,EAAM;AACtB,MAAA,uBACE,GAAA;AAAA,QAAC,GAAA;AAAA,QAAA;AAAA,UACC,IAAA;AAAA,UACA,WAAW,EAAA,CAAG,mBAAA,CAAoB,EAAE,QAAA,EAAU,GAAG,SAAS,CAAA;AAAA,UAC1D,eAAA,EAAe,QAAA;AAAA,UACd,GAAI,KAAA;AAAA,UAEJ,QAAA,EAAA;AAAA;AAAA,OACH;AAAA,IAEJ;AAEA,IAAA,uBACE,GAAA;AAAA,MAAC,QAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,IAAA,EAAK,QAAA;AAAA,QACL,UAAU,QAAA,IAAY,MAAA;AAAA,QACtB,WAAW,EAAA,CAAG,mBAAA,CAAoB,EAAE,QAAA,EAAU,GAAG,SAAS,CAAA;AAAA,QACzD,GAAG,KAAA;AAAA,QAEH,QAAA,EAAA;AAAA;AAAA,KACH;AAAA,EAEJ;AACF;AAEA,WAAA,CAAY,WAAA,GAAc,aAAA;AAGnB,IAAM,gBAAA,GAAmB;AAAA,EAC9B,QAAA,EAAU,CAAC,KAAA,qBACT,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAU,SAAA;AAAA,MACV,IAAA,EAAK,MAAA;AAAA,MACL,MAAA,EAAO,cAAA;AAAA,MACP,OAAA,EAAQ,WAAA;AAAA,MACR,KAAA,EAAM,4BAAA;AAAA,MACL,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAA,GAAA;AAAA,QAAC,MAAA;AAAA,QAAA;AAAA,UACC,aAAA,EAAc,OAAA;AAAA,UACd,cAAA,EAAe,OAAA;AAAA,UACf,WAAA,EAAa,CAAA;AAAA,UACb,CAAA,EAAE;AAAA;AAAA;AACJ;AAAA,GACF;AAAA,EAEF,SAAA,EAAW,CAAC,KAAA,qBACV,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAU,SAAA;AAAA,MACV,IAAA,EAAK,MAAA;AAAA,MACL,MAAA,EAAO,cAAA;AAAA,MACP,OAAA,EAAQ,WAAA;AAAA,MACR,KAAA,EAAM,4BAAA;AAAA,MACL,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAA,GAAA;AAAA,QAAC,MAAA;AAAA,QAAA;AAAA,UACC,aAAA,EAAc,OAAA;AAAA,UACd,cAAA,EAAe,OAAA;AAAA,UACf,WAAA,EAAa,CAAA;AAAA,UACb,CAAA,EAAE;AAAA;AAAA;AACJ;AAAA,GACF;AAAA,EAEF,IAAA,EAAM,CAAC,KAAA,qBACL,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAU,SAAA;AAAA,MACV,IAAA,EAAK,MAAA;AAAA,MACL,MAAA,EAAO,cAAA;AAAA,MACP,OAAA,EAAQ,WAAA;AAAA,MACR,KAAA,EAAM,4BAAA;AAAA,MACL,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAA,GAAA;AAAA,QAAC,MAAA;AAAA,QAAA;AAAA,UACC,aAAA,EAAc,OAAA;AAAA,UACd,cAAA,EAAe,OAAA;AAAA,UACf,WAAA,EAAa,CAAA;AAAA,UACb,CAAA,EAAE;AAAA;AAAA;AACJ;AAAA,GACF;AAAA,EAEF,QAAA,EAAU,CAAC,KAAA,qBACT,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAU,SAAA;AAAA,MACV,IAAA,EAAK,MAAA;AAAA,MACL,MAAA,EAAO,cAAA;AAAA,MACP,OAAA,EAAQ,WAAA;AAAA,MACR,KAAA,EAAM,4BAAA;AAAA,MACL,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAA,GAAA;AAAA,QAAC,MAAA;AAAA,QAAA;AAAA,UACC,aAAA,EAAc,OAAA;AAAA,UACd,cAAA,EAAe,OAAA;AAAA,UACf,WAAA,EAAa,CAAA;AAAA,UACb,CAAA,EAAE;AAAA;AAAA;AACJ;AAAA,GACF;AAAA,EAEF,QAAA,EAAU,CAAC,KAAA,qBACT,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAU,SAAA;AAAA,MACV,IAAA,EAAK,MAAA;AAAA,MACL,MAAA,EAAO,cAAA;AAAA,MACP,OAAA,EAAQ,WAAA;AAAA,MACR,KAAA,EAAM,4BAAA;AAAA,MACL,GAAG,KAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,wBAAA,GAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,aAAA,EAAc,OAAA;AAAA,YACd,cAAA,EAAe,OAAA;AAAA,YACf,WAAA,EAAa,CAAA;AAAA,YACb,CAAA,EAAE;AAAA;AAAA,SACJ;AAAA,wBACA,GAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,aAAA,EAAc,OAAA;AAAA,YACd,cAAA,EAAe,OAAA;AAAA,YACf,WAAA,EAAa,CAAA;AAAA,YACb,CAAA,EAAE;AAAA;AAAA;AACJ;AAAA;AAAA,GACF;AAAA,EAEF,IAAA,EAAM,CAAC,KAAA,qBACL,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAU,SAAA;AAAA,MACV,IAAA,EAAK,MAAA;AAAA,MACL,MAAA,EAAO,cAAA;AAAA,MACP,OAAA,EAAQ,WAAA;AAAA,MACR,KAAA,EAAM,4BAAA;AAAA,MACL,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAA,GAAA;AAAA,QAAC,MAAA;AAAA,QAAA;AAAA,UACC,aAAA,EAAc,OAAA;AAAA,UACd,cAAA,EAAe,OAAA;AAAA,UACf,WAAA,EAAa,CAAA;AAAA,UACb,CAAA,EAAE;AAAA;AAAA;AACJ;AAAA,GACF;AAAA,EAEF,MAAA,EAAQ,CAAC,KAAA,qBACP,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAU,SAAA;AAAA,MACV,IAAA,EAAK,MAAA;AAAA,MACL,MAAA,EAAO,cAAA;AAAA,MACP,OAAA,EAAQ,WAAA;AAAA,MACR,KAAA,EAAM,4BAAA;AAAA,MACL,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAA,GAAA;AAAA,QAAC,MAAA;AAAA,QAAA;AAAA,UACC,aAAA,EAAc,OAAA;AAAA,UACd,cAAA,EAAe,OAAA;AAAA,UACf,WAAA,EAAa,CAAA;AAAA,UACb,CAAA,EAAE;AAAA;AAAA;AACJ;AAAA,GACF;AAAA,EAEF,IAAA,EAAM,CAAC,KAAA,qBACL,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAU,SAAA;AAAA,MACV,IAAA,EAAK,MAAA;AAAA,MACL,MAAA,EAAO,cAAA;AAAA,MACP,OAAA,EAAQ,WAAA;AAAA,MACR,KAAA,EAAM,4BAAA;AAAA,MACL,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAA,GAAA;AAAA,QAAC,MAAA;AAAA,QAAA;AAAA,UACC,aAAA,EAAc,OAAA;AAAA,UACd,cAAA,EAAe,OAAA;AAAA,UACf,WAAA,EAAa,CAAA;AAAA,UACb,CAAA,EAAE;AAAA;AAAA;AACJ;AAAA;AAGN;AAyBA,IAAM,gBAAA,GAAyB,KAAA,CAAA,UAAA;AAAA,EAI7B,CACE;AAAA,IACE,SAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAA,GAAU,EAAE,IAAA,EAAM,CAAA,EAAG,IAAI,CAAA,EAAG,EAAA,EAAI,CAAA,EAAG,EAAA,EAAI,CAAA,EAAE;AAAA,IACzC,QAAA;AAAA,IACA,GAAG;AAAA,KAEL,GAAA,KACG;AACH,IAAA,MAAM,QAAA,GAAW,EAAA;AAAA,MACf,YAAA;AAAA;AAAA,MAEA,OAAA,CAAQ,IAAA,KAAS,CAAA,GAAI,aAAA,GAAgB,aAAA;AAAA;AAAA,MAErC,OAAA,CAAQ,EAAA,KAAO,CAAA,GAAI,gBAAA,GAAmB,gBAAA;AAAA;AAAA,MAEtC,OAAA,CAAQ,EAAA,KAAO,CAAA,GACX,gBAAA,GACA,OAAA,CAAQ,EAAA,KAAO,CAAA,GACb,gBAAA,GACA,OAAA,CAAQ,EAAA,KAAO,CAAA,GACb,gBAAA,GACA,EAAA;AAAA;AAAA,MAER,QAAQ,EAAA,KAAO,CAAA,GACX,mBACA,OAAA,CAAQ,EAAA,KAAO,IACb,gBAAA,GACA;AAAA,KACR;AAEA,IAAA,uBACE,IAAA,CAAC,KAAA,EAAA,EAAI,GAAA,EAAU,SAAA,EAAuB,GAAG,KAAA,EACtC,QAAA,EAAA;AAAA,MAAA,KAAA,oBACC,GAAA,CAAC,IAAA,EAAA,EAAG,SAAA,EAAU,6DAAA,EACX,QAAA,EAAA,KAAA,EACH,CAAA;AAAA,sBAEF,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,QAAA,EAAW,QAAA,EAAS;AAAA,KAAA,EACtC,CAAA;AAAA,EAEJ;AACF;AAEA,gBAAA,CAAiB,WAAA,GAAc,kBAAA","file":"chunk-6Q4SU72T.js","sourcesContent":["import * as React from 'react';\nimport { cva } from 'class-variance-authority';\nimport { cn } from '../../utils/cn';\n\nconst quickActionIconVariants = cva(\n ['flex items-center justify-center rounded-xl', 'h-10 w-10'],\n {\n variants: {\n color: {\n primary:\n 'bg-primary-100 text-primary-600 dark:bg-primary-900/50 dark:text-primary-400',\n green:\n 'bg-emerald-100 text-emerald-600 dark:bg-emerald-900/50 dark:text-emerald-400',\n purple:\n 'bg-violet-100 text-violet-600 dark:bg-violet-900/50 dark:text-violet-400',\n orange:\n 'bg-orange-100 text-orange-600 dark:bg-orange-900/50 dark:text-orange-400',\n blue: 'bg-sky-100 text-sky-600 dark:bg-sky-900/50 dark:text-sky-400',\n red: 'bg-rose-100 text-rose-600 dark:bg-rose-900/50 dark:text-rose-400',\n amber:\n 'bg-amber-100 text-amber-600 dark:bg-amber-900/50 dark:text-amber-400',\n neutral:\n 'bg-neutral-100 text-neutral-600 dark:bg-neutral-800 dark:text-neutral-400',\n },\n },\n defaultVariants: {\n color: 'primary',\n },\n }\n);\n\nconst quickActionVariants = cva(\n [\n 'flex items-center gap-3 rounded-xl border p-4 text-left',\n 'transition-colors duration-200',\n 'border-neutral-200 bg-white',\n 'hover:border-primary-300 hover:bg-primary-50',\n 'dark:border-neutral-700 dark:bg-neutral-800',\n 'dark:hover:border-primary-700 dark:hover:bg-primary-900/20',\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 focus-visible:ring-offset-2',\n 'dark:focus-visible:ring-offset-neutral-900',\n ],\n {\n variants: {\n disabled: {\n true: [\n 'opacity-50 cursor-not-allowed',\n 'hover:border-neutral-200 hover:bg-white',\n 'dark:hover:border-neutral-700 dark:hover:bg-neutral-800',\n ],\n false: 'cursor-pointer',\n },\n },\n defaultVariants: {\n disabled: false,\n },\n }\n);\n\nexport type QuickActionColor =\n | 'primary'\n | 'green'\n | 'purple'\n | 'orange'\n | 'blue'\n | 'red'\n | 'amber'\n | 'neutral';\n\nexport interface QuickActionProps extends Omit<\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n 'color' | 'disabled'\n> {\n /** The main title text */\n title: string;\n /** The subtitle/description text */\n subtitle: string;\n /** Icon to display in the colored background */\n icon: React.ReactNode;\n /** Color theme for the icon background */\n color?: QuickActionColor;\n /** Render as a different element (e.g., 'a' for links) */\n as?: 'button' | 'a';\n /** URL when rendered as a link */\n href?: string;\n /** Whether the action is disabled */\n disabled?: boolean;\n}\n\n/**\n * A quick action card component for dashboard navigation.\n * Displays an icon, title, and subtitle in a compact, clickable card.\n *\n * @example\n * ```tsx\n * <QuickAction\n * title=\"Schedule Exam\"\n * subtitle=\"Find providers nearby\"\n * color=\"primary\"\n * icon={<CalendarIcon className=\"h-5 w-5\" />}\n * onClick={() => navigate('/schedule')}\n * />\n * ```\n */\nconst QuickAction = React.forwardRef<HTMLButtonElement, QuickActionProps>(\n (\n {\n className,\n title,\n subtitle,\n icon,\n color = 'primary',\n disabled,\n as = 'button',\n href,\n ...props\n },\n ref\n ) => {\n const content = (\n <>\n <div className={cn(quickActionIconVariants({ color }))}>{icon}</div>\n <div>\n <div className=\"font-medium text-neutral-900 dark:text-white\">\n {title}\n </div>\n <div className=\"text-xs text-neutral-500 dark:text-neutral-400\">\n {subtitle}\n </div>\n </div>\n </>\n );\n\n if (as === 'a' && href) {\n return (\n <a\n href={href}\n className={cn(quickActionVariants({ disabled }), className)}\n aria-disabled={disabled}\n {...(props as React.AnchorHTMLAttributes<globalThis.HTMLAnchorElement>)}\n >\n {content}\n </a>\n );\n }\n\n return (\n <button\n ref={ref}\n type=\"button\"\n disabled={disabled ?? undefined}\n className={cn(quickActionVariants({ disabled }), className)}\n {...props}\n >\n {content}\n </button>\n );\n }\n);\n\nQuickAction.displayName = 'QuickAction';\n\n// Predefined icons for common quick actions\nexport const QuickActionIcons = {\n Calendar: (props: React.SVGProps<globalThis.SVGSVGElement>) => (\n <svg\n className=\"h-5 w-5\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z\"\n />\n </svg>\n ),\n Clipboard: (props: React.SVGProps<globalThis.SVGSVGElement>) => (\n <svg\n className=\"h-5 w-5\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"\n />\n </svg>\n ),\n User: (props: React.SVGProps<globalThis.SVGSVGElement>) => (\n <svg\n className=\"h-5 w-5\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z\"\n />\n </svg>\n ),\n Document: (props: React.SVGProps<globalThis.SVGSVGElement>) => (\n <svg\n className=\"h-5 w-5\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z\"\n />\n </svg>\n ),\n Settings: (props: React.SVGProps<globalThis.SVGSVGElement>) => (\n <svg\n className=\"h-5 w-5\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z\"\n />\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M15 12a3 3 0 11-6 0 3 3 0 016 0z\"\n />\n </svg>\n ),\n Help: (props: React.SVGProps<globalThis.SVGSVGElement>) => (\n <svg\n className=\"h-5 w-5\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"\n />\n </svg>\n ),\n Search: (props: React.SVGProps<globalThis.SVGSVGElement>) => (\n <svg\n className=\"h-5 w-5\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z\"\n />\n </svg>\n ),\n Bell: (props: React.SVGProps<globalThis.SVGSVGElement>) => (\n <svg\n className=\"h-5 w-5\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9\"\n />\n </svg>\n ),\n};\n\n/**\n * A group/container component for displaying multiple QuickAction cards in a grid.\n *\n * @example\n * ```tsx\n * <QuickActionGroup title=\"Quick Actions\">\n * <QuickAction title=\"Action 1\" ... />\n * <QuickAction title=\"Action 2\" ... />\n * </QuickActionGroup>\n * ```\n */\nexport interface QuickActionGroupProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Optional title to display above the quick actions */\n title?: string;\n /** Number of columns on different screen sizes */\n columns?: {\n base?: 1 | 2;\n sm?: 1 | 2;\n md?: 2 | 3 | 4;\n lg?: 2 | 3 | 4;\n };\n}\n\nconst QuickActionGroup = React.forwardRef<\n HTMLDivElement,\n QuickActionGroupProps\n>(\n (\n {\n className,\n title,\n columns = { base: 1, sm: 2, md: 2, lg: 4 },\n children,\n ...props\n },\n ref\n ) => {\n const gridCols = cn(\n 'grid gap-4',\n // Base (mobile)\n columns.base === 1 ? 'grid-cols-1' : 'grid-cols-2',\n // Small screens\n columns.sm === 1 ? 'sm:grid-cols-1' : 'sm:grid-cols-2',\n // Medium screens\n columns.md === 2\n ? 'md:grid-cols-2'\n : columns.md === 3\n ? 'md:grid-cols-3'\n : columns.md === 4\n ? 'md:grid-cols-4'\n : '',\n // Large screens\n columns.lg === 2\n ? 'lg:grid-cols-2'\n : columns.lg === 3\n ? 'lg:grid-cols-3'\n : 'lg:grid-cols-4'\n );\n\n return (\n <div ref={ref} className={className} {...props}>\n {title && (\n <h2 className=\"mb-4 text-lg font-semibold text-neutral-900 dark:text-white\">\n {title}\n </h2>\n )}\n <div className={gridCols}>{children}</div>\n </div>\n );\n }\n);\n\nQuickActionGroup.displayName = 'QuickActionGroup';\n\nexport {\n QuickAction,\n QuickActionGroup,\n quickActionVariants,\n quickActionIconVariants,\n};\n"]}
|
|
@@ -0,0 +1,326 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkOR5DRJCW_cjs = require('./chunk-OR5DRJCW.cjs');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var classVarianceAuthority = require('class-variance-authority');
|
|
6
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
7
|
+
|
|
8
|
+
function _interopNamespace(e) {
|
|
9
|
+
if (e && e.__esModule) return e;
|
|
10
|
+
var n = Object.create(null);
|
|
11
|
+
if (e) {
|
|
12
|
+
Object.keys(e).forEach(function (k) {
|
|
13
|
+
if (k !== 'default') {
|
|
14
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
15
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
16
|
+
enumerable: true,
|
|
17
|
+
get: function () { return e[k]; }
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
n.default = e;
|
|
23
|
+
return Object.freeze(n);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
27
|
+
|
|
28
|
+
var quickActionIconVariants = classVarianceAuthority.cva(
|
|
29
|
+
["flex items-center justify-center rounded-xl", "h-10 w-10"],
|
|
30
|
+
{
|
|
31
|
+
variants: {
|
|
32
|
+
color: {
|
|
33
|
+
primary: "bg-primary-100 text-primary-600 dark:bg-primary-900/50 dark:text-primary-400",
|
|
34
|
+
green: "bg-emerald-100 text-emerald-600 dark:bg-emerald-900/50 dark:text-emerald-400",
|
|
35
|
+
purple: "bg-violet-100 text-violet-600 dark:bg-violet-900/50 dark:text-violet-400",
|
|
36
|
+
orange: "bg-orange-100 text-orange-600 dark:bg-orange-900/50 dark:text-orange-400",
|
|
37
|
+
blue: "bg-sky-100 text-sky-600 dark:bg-sky-900/50 dark:text-sky-400",
|
|
38
|
+
red: "bg-rose-100 text-rose-600 dark:bg-rose-900/50 dark:text-rose-400",
|
|
39
|
+
amber: "bg-amber-100 text-amber-600 dark:bg-amber-900/50 dark:text-amber-400",
|
|
40
|
+
neutral: "bg-neutral-100 text-neutral-600 dark:bg-neutral-800 dark:text-neutral-400"
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
defaultVariants: {
|
|
44
|
+
color: "primary"
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
);
|
|
48
|
+
var quickActionVariants = classVarianceAuthority.cva(
|
|
49
|
+
[
|
|
50
|
+
"flex items-center gap-3 rounded-xl border p-4 text-left",
|
|
51
|
+
"transition-colors duration-200",
|
|
52
|
+
"border-neutral-200 bg-white",
|
|
53
|
+
"hover:border-primary-300 hover:bg-primary-50",
|
|
54
|
+
"dark:border-neutral-700 dark:bg-neutral-800",
|
|
55
|
+
"dark:hover:border-primary-700 dark:hover:bg-primary-900/20",
|
|
56
|
+
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 focus-visible:ring-offset-2",
|
|
57
|
+
"dark:focus-visible:ring-offset-neutral-900"
|
|
58
|
+
],
|
|
59
|
+
{
|
|
60
|
+
variants: {
|
|
61
|
+
disabled: {
|
|
62
|
+
true: [
|
|
63
|
+
"opacity-50 cursor-not-allowed",
|
|
64
|
+
"hover:border-neutral-200 hover:bg-white",
|
|
65
|
+
"dark:hover:border-neutral-700 dark:hover:bg-neutral-800"
|
|
66
|
+
],
|
|
67
|
+
false: "cursor-pointer"
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
defaultVariants: {
|
|
71
|
+
disabled: false
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
);
|
|
75
|
+
var QuickAction = React__namespace.forwardRef(
|
|
76
|
+
({
|
|
77
|
+
className,
|
|
78
|
+
title,
|
|
79
|
+
subtitle,
|
|
80
|
+
icon,
|
|
81
|
+
color = "primary",
|
|
82
|
+
disabled,
|
|
83
|
+
as = "button",
|
|
84
|
+
href,
|
|
85
|
+
...props
|
|
86
|
+
}, ref) => {
|
|
87
|
+
const content = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
88
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkOR5DRJCW_cjs.cn(quickActionIconVariants({ color })), children: icon }),
|
|
89
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
90
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "font-medium text-neutral-900 dark:text-white", children: title }),
|
|
91
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-xs text-neutral-500 dark:text-neutral-400", children: subtitle })
|
|
92
|
+
] })
|
|
93
|
+
] });
|
|
94
|
+
if (as === "a" && href) {
|
|
95
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
96
|
+
"a",
|
|
97
|
+
{
|
|
98
|
+
href,
|
|
99
|
+
className: chunkOR5DRJCW_cjs.cn(quickActionVariants({ disabled }), className),
|
|
100
|
+
"aria-disabled": disabled,
|
|
101
|
+
...props,
|
|
102
|
+
children: content
|
|
103
|
+
}
|
|
104
|
+
);
|
|
105
|
+
}
|
|
106
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
107
|
+
"button",
|
|
108
|
+
{
|
|
109
|
+
ref,
|
|
110
|
+
type: "button",
|
|
111
|
+
disabled: disabled ?? void 0,
|
|
112
|
+
className: chunkOR5DRJCW_cjs.cn(quickActionVariants({ disabled }), className),
|
|
113
|
+
...props,
|
|
114
|
+
children: content
|
|
115
|
+
}
|
|
116
|
+
);
|
|
117
|
+
}
|
|
118
|
+
);
|
|
119
|
+
QuickAction.displayName = "QuickAction";
|
|
120
|
+
var QuickActionIcons = {
|
|
121
|
+
Calendar: (props) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
122
|
+
"svg",
|
|
123
|
+
{
|
|
124
|
+
className: "h-5 w-5",
|
|
125
|
+
fill: "none",
|
|
126
|
+
stroke: "currentColor",
|
|
127
|
+
viewBox: "0 0 24 24",
|
|
128
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
129
|
+
...props,
|
|
130
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
131
|
+
"path",
|
|
132
|
+
{
|
|
133
|
+
strokeLinecap: "round",
|
|
134
|
+
strokeLinejoin: "round",
|
|
135
|
+
strokeWidth: 2,
|
|
136
|
+
d: "M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"
|
|
137
|
+
}
|
|
138
|
+
)
|
|
139
|
+
}
|
|
140
|
+
),
|
|
141
|
+
Clipboard: (props) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
142
|
+
"svg",
|
|
143
|
+
{
|
|
144
|
+
className: "h-5 w-5",
|
|
145
|
+
fill: "none",
|
|
146
|
+
stroke: "currentColor",
|
|
147
|
+
viewBox: "0 0 24 24",
|
|
148
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
149
|
+
...props,
|
|
150
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
151
|
+
"path",
|
|
152
|
+
{
|
|
153
|
+
strokeLinecap: "round",
|
|
154
|
+
strokeLinejoin: "round",
|
|
155
|
+
strokeWidth: 2,
|
|
156
|
+
d: "M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"
|
|
157
|
+
}
|
|
158
|
+
)
|
|
159
|
+
}
|
|
160
|
+
),
|
|
161
|
+
User: (props) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
162
|
+
"svg",
|
|
163
|
+
{
|
|
164
|
+
className: "h-5 w-5",
|
|
165
|
+
fill: "none",
|
|
166
|
+
stroke: "currentColor",
|
|
167
|
+
viewBox: "0 0 24 24",
|
|
168
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
169
|
+
...props,
|
|
170
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
171
|
+
"path",
|
|
172
|
+
{
|
|
173
|
+
strokeLinecap: "round",
|
|
174
|
+
strokeLinejoin: "round",
|
|
175
|
+
strokeWidth: 2,
|
|
176
|
+
d: "M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"
|
|
177
|
+
}
|
|
178
|
+
)
|
|
179
|
+
}
|
|
180
|
+
),
|
|
181
|
+
Document: (props) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
182
|
+
"svg",
|
|
183
|
+
{
|
|
184
|
+
className: "h-5 w-5",
|
|
185
|
+
fill: "none",
|
|
186
|
+
stroke: "currentColor",
|
|
187
|
+
viewBox: "0 0 24 24",
|
|
188
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
189
|
+
...props,
|
|
190
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
191
|
+
"path",
|
|
192
|
+
{
|
|
193
|
+
strokeLinecap: "round",
|
|
194
|
+
strokeLinejoin: "round",
|
|
195
|
+
strokeWidth: 2,
|
|
196
|
+
d: "M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"
|
|
197
|
+
}
|
|
198
|
+
)
|
|
199
|
+
}
|
|
200
|
+
),
|
|
201
|
+
Settings: (props) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
202
|
+
"svg",
|
|
203
|
+
{
|
|
204
|
+
className: "h-5 w-5",
|
|
205
|
+
fill: "none",
|
|
206
|
+
stroke: "currentColor",
|
|
207
|
+
viewBox: "0 0 24 24",
|
|
208
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
209
|
+
...props,
|
|
210
|
+
children: [
|
|
211
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
212
|
+
"path",
|
|
213
|
+
{
|
|
214
|
+
strokeLinecap: "round",
|
|
215
|
+
strokeLinejoin: "round",
|
|
216
|
+
strokeWidth: 2,
|
|
217
|
+
d: "M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"
|
|
218
|
+
}
|
|
219
|
+
),
|
|
220
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
221
|
+
"path",
|
|
222
|
+
{
|
|
223
|
+
strokeLinecap: "round",
|
|
224
|
+
strokeLinejoin: "round",
|
|
225
|
+
strokeWidth: 2,
|
|
226
|
+
d: "M15 12a3 3 0 11-6 0 3 3 0 016 0z"
|
|
227
|
+
}
|
|
228
|
+
)
|
|
229
|
+
]
|
|
230
|
+
}
|
|
231
|
+
),
|
|
232
|
+
Help: (props) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
233
|
+
"svg",
|
|
234
|
+
{
|
|
235
|
+
className: "h-5 w-5",
|
|
236
|
+
fill: "none",
|
|
237
|
+
stroke: "currentColor",
|
|
238
|
+
viewBox: "0 0 24 24",
|
|
239
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
240
|
+
...props,
|
|
241
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
242
|
+
"path",
|
|
243
|
+
{
|
|
244
|
+
strokeLinecap: "round",
|
|
245
|
+
strokeLinejoin: "round",
|
|
246
|
+
strokeWidth: 2,
|
|
247
|
+
d: "M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"
|
|
248
|
+
}
|
|
249
|
+
)
|
|
250
|
+
}
|
|
251
|
+
),
|
|
252
|
+
Search: (props) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
253
|
+
"svg",
|
|
254
|
+
{
|
|
255
|
+
className: "h-5 w-5",
|
|
256
|
+
fill: "none",
|
|
257
|
+
stroke: "currentColor",
|
|
258
|
+
viewBox: "0 0 24 24",
|
|
259
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
260
|
+
...props,
|
|
261
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
262
|
+
"path",
|
|
263
|
+
{
|
|
264
|
+
strokeLinecap: "round",
|
|
265
|
+
strokeLinejoin: "round",
|
|
266
|
+
strokeWidth: 2,
|
|
267
|
+
d: "M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"
|
|
268
|
+
}
|
|
269
|
+
)
|
|
270
|
+
}
|
|
271
|
+
),
|
|
272
|
+
Bell: (props) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
273
|
+
"svg",
|
|
274
|
+
{
|
|
275
|
+
className: "h-5 w-5",
|
|
276
|
+
fill: "none",
|
|
277
|
+
stroke: "currentColor",
|
|
278
|
+
viewBox: "0 0 24 24",
|
|
279
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
280
|
+
...props,
|
|
281
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
282
|
+
"path",
|
|
283
|
+
{
|
|
284
|
+
strokeLinecap: "round",
|
|
285
|
+
strokeLinejoin: "round",
|
|
286
|
+
strokeWidth: 2,
|
|
287
|
+
d: "M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9"
|
|
288
|
+
}
|
|
289
|
+
)
|
|
290
|
+
}
|
|
291
|
+
)
|
|
292
|
+
};
|
|
293
|
+
var QuickActionGroup = React__namespace.forwardRef(
|
|
294
|
+
({
|
|
295
|
+
className,
|
|
296
|
+
title,
|
|
297
|
+
columns = { base: 1, sm: 2, md: 2, lg: 4 },
|
|
298
|
+
children,
|
|
299
|
+
...props
|
|
300
|
+
}, ref) => {
|
|
301
|
+
const gridCols = chunkOR5DRJCW_cjs.cn(
|
|
302
|
+
"grid gap-4",
|
|
303
|
+
// Base (mobile)
|
|
304
|
+
columns.base === 1 ? "grid-cols-1" : "grid-cols-2",
|
|
305
|
+
// Small screens
|
|
306
|
+
columns.sm === 1 ? "sm:grid-cols-1" : "sm:grid-cols-2",
|
|
307
|
+
// Medium screens
|
|
308
|
+
columns.md === 2 ? "md:grid-cols-2" : columns.md === 3 ? "md:grid-cols-3" : columns.md === 4 ? "md:grid-cols-4" : "",
|
|
309
|
+
// Large screens
|
|
310
|
+
columns.lg === 2 ? "lg:grid-cols-2" : columns.lg === 3 ? "lg:grid-cols-3" : "lg:grid-cols-4"
|
|
311
|
+
);
|
|
312
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref, className, ...props, children: [
|
|
313
|
+
title && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "mb-4 text-lg font-semibold text-neutral-900 dark:text-white", children: title }),
|
|
314
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: gridCols, children })
|
|
315
|
+
] });
|
|
316
|
+
}
|
|
317
|
+
);
|
|
318
|
+
QuickActionGroup.displayName = "QuickActionGroup";
|
|
319
|
+
|
|
320
|
+
exports.QuickAction = QuickAction;
|
|
321
|
+
exports.QuickActionGroup = QuickActionGroup;
|
|
322
|
+
exports.QuickActionIcons = QuickActionIcons;
|
|
323
|
+
exports.quickActionIconVariants = quickActionIconVariants;
|
|
324
|
+
exports.quickActionVariants = quickActionVariants;
|
|
325
|
+
//# sourceMappingURL=chunk-AU5ADTYD.cjs.map
|
|
326
|
+
//# sourceMappingURL=chunk-AU5ADTYD.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/QuickAction/QuickAction.tsx"],"names":["cva","React","jsxs","Fragment","jsx","cn"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAM,uBAAA,GAA0BA,0BAAA;AAAA,EAC9B,CAAC,+CAA+C,WAAW,CAAA;AAAA,EAC3D;AAAA,IACE,QAAA,EAAU;AAAA,MACR,KAAA,EAAO;AAAA,QACL,OAAA,EACE,8EAAA;AAAA,QACF,KAAA,EACE,8EAAA;AAAA,QACF,MAAA,EACE,0EAAA;AAAA,QACF,MAAA,EACE,0EAAA;AAAA,QACF,IAAA,EAAM,8DAAA;AAAA,QACN,GAAA,EAAK,kEAAA;AAAA,QACL,KAAA,EACE,sEAAA;AAAA,QACF,OAAA,EACE;AAAA;AACJ,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,KAAA,EAAO;AAAA;AACT;AAEJ;AAEA,IAAM,mBAAA,GAAsBA,0BAAA;AAAA,EAC1B;AAAA,IACE,yDAAA;AAAA,IACA,gCAAA;AAAA,IACA,6BAAA;AAAA,IACA,8CAAA;AAAA,IACA,6CAAA;AAAA,IACA,4DAAA;AAAA,IACA,4GAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,QAAA,EAAU;AAAA,QACR,IAAA,EAAM;AAAA,UACJ,+BAAA;AAAA,UACA,yCAAA;AAAA,UACA;AAAA,SACF;AAAA,QACA,KAAA,EAAO;AAAA;AACT,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,QAAA,EAAU;AAAA;AACZ;AAEJ;AA+CA,IAAM,WAAA,GAAoBC,gBAAA,CAAA,UAAA;AAAA,EACxB,CACE;AAAA,IACE,SAAA;AAAA,IACA,KAAA;AAAA,IACA,QAAA;AAAA,IACA,IAAA;AAAA,IACA,KAAA,GAAQ,SAAA;AAAA,IACR,QAAA;AAAA,IACA,EAAA,GAAK,QAAA;AAAA,IACL,IAAA;AAAA,IACA,GAAG;AAAA,KAEL,GAAA,KACG;AACH,IAAA,MAAM,0BACJC,eAAA,CAAAC,mBAAA,EAAA,EACE,QAAA,EAAA;AAAA,sBAAAC,cAAA,CAAC,KAAA,EAAA,EAAI,WAAWC,oBAAA,CAAG,uBAAA,CAAwB,EAAE,KAAA,EAAO,CAAC,CAAA,EAAI,QAAA,EAAA,IAAA,EAAK,CAAA;AAAA,sCAC7D,KAAA,EAAA,EACC,QAAA,EAAA;AAAA,wBAAAD,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,8CAAA,EACZ,QAAA,EAAA,KAAA,EACH,CAAA;AAAA,wBACAA,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,gDAAA,EACZ,QAAA,EAAA,QAAA,EACH;AAAA,OAAA,EACF;AAAA,KAAA,EACF,CAAA;AAGF,IAAA,IAAI,EAAA,KAAO,OAAO,IAAA,EAAM;AACtB,MAAA,uBACEA,cAAA;AAAA,QAAC,GAAA;AAAA,QAAA;AAAA,UACC,IAAA;AAAA,UACA,WAAWC,oBAAA,CAAG,mBAAA,CAAoB,EAAE,QAAA,EAAU,GAAG,SAAS,CAAA;AAAA,UAC1D,eAAA,EAAe,QAAA;AAAA,UACd,GAAI,KAAA;AAAA,UAEJ,QAAA,EAAA;AAAA;AAAA,OACH;AAAA,IAEJ;AAEA,IAAA,uBACED,cAAA;AAAA,MAAC,QAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,IAAA,EAAK,QAAA;AAAA,QACL,UAAU,QAAA,IAAY,MAAA;AAAA,QACtB,WAAWC,oBAAA,CAAG,mBAAA,CAAoB,EAAE,QAAA,EAAU,GAAG,SAAS,CAAA;AAAA,QACzD,GAAG,KAAA;AAAA,QAEH,QAAA,EAAA;AAAA;AAAA,KACH;AAAA,EAEJ;AACF;AAEA,WAAA,CAAY,WAAA,GAAc,aAAA;AAGnB,IAAM,gBAAA,GAAmB;AAAA,EAC9B,QAAA,EAAU,CAAC,KAAA,qBACTD,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAU,SAAA;AAAA,MACV,IAAA,EAAK,MAAA;AAAA,MACL,MAAA,EAAO,cAAA;AAAA,MACP,OAAA,EAAQ,WAAA;AAAA,MACR,KAAA,EAAM,4BAAA;AAAA,MACL,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAAA,cAAA;AAAA,QAAC,MAAA;AAAA,QAAA;AAAA,UACC,aAAA,EAAc,OAAA;AAAA,UACd,cAAA,EAAe,OAAA;AAAA,UACf,WAAA,EAAa,CAAA;AAAA,UACb,CAAA,EAAE;AAAA;AAAA;AACJ;AAAA,GACF;AAAA,EAEF,SAAA,EAAW,CAAC,KAAA,qBACVA,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAU,SAAA;AAAA,MACV,IAAA,EAAK,MAAA;AAAA,MACL,MAAA,EAAO,cAAA;AAAA,MACP,OAAA,EAAQ,WAAA;AAAA,MACR,KAAA,EAAM,4BAAA;AAAA,MACL,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAAA,cAAA;AAAA,QAAC,MAAA;AAAA,QAAA;AAAA,UACC,aAAA,EAAc,OAAA;AAAA,UACd,cAAA,EAAe,OAAA;AAAA,UACf,WAAA,EAAa,CAAA;AAAA,UACb,CAAA,EAAE;AAAA;AAAA;AACJ;AAAA,GACF;AAAA,EAEF,IAAA,EAAM,CAAC,KAAA,qBACLA,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAU,SAAA;AAAA,MACV,IAAA,EAAK,MAAA;AAAA,MACL,MAAA,EAAO,cAAA;AAAA,MACP,OAAA,EAAQ,WAAA;AAAA,MACR,KAAA,EAAM,4BAAA;AAAA,MACL,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAAA,cAAA;AAAA,QAAC,MAAA;AAAA,QAAA;AAAA,UACC,aAAA,EAAc,OAAA;AAAA,UACd,cAAA,EAAe,OAAA;AAAA,UACf,WAAA,EAAa,CAAA;AAAA,UACb,CAAA,EAAE;AAAA;AAAA;AACJ;AAAA,GACF;AAAA,EAEF,QAAA,EAAU,CAAC,KAAA,qBACTA,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAU,SAAA;AAAA,MACV,IAAA,EAAK,MAAA;AAAA,MACL,MAAA,EAAO,cAAA;AAAA,MACP,OAAA,EAAQ,WAAA;AAAA,MACR,KAAA,EAAM,4BAAA;AAAA,MACL,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAAA,cAAA;AAAA,QAAC,MAAA;AAAA,QAAA;AAAA,UACC,aAAA,EAAc,OAAA;AAAA,UACd,cAAA,EAAe,OAAA;AAAA,UACf,WAAA,EAAa,CAAA;AAAA,UACb,CAAA,EAAE;AAAA;AAAA;AACJ;AAAA,GACF;AAAA,EAEF,QAAA,EAAU,CAAC,KAAA,qBACTF,eAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAU,SAAA;AAAA,MACV,IAAA,EAAK,MAAA;AAAA,MACL,MAAA,EAAO,cAAA;AAAA,MACP,OAAA,EAAQ,WAAA;AAAA,MACR,KAAA,EAAM,4BAAA;AAAA,MACL,GAAG,KAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,wBAAAE,cAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,aAAA,EAAc,OAAA;AAAA,YACd,cAAA,EAAe,OAAA;AAAA,YACf,WAAA,EAAa,CAAA;AAAA,YACb,CAAA,EAAE;AAAA;AAAA,SACJ;AAAA,wBACAA,cAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,aAAA,EAAc,OAAA;AAAA,YACd,cAAA,EAAe,OAAA;AAAA,YACf,WAAA,EAAa,CAAA;AAAA,YACb,CAAA,EAAE;AAAA;AAAA;AACJ;AAAA;AAAA,GACF;AAAA,EAEF,IAAA,EAAM,CAAC,KAAA,qBACLA,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAU,SAAA;AAAA,MACV,IAAA,EAAK,MAAA;AAAA,MACL,MAAA,EAAO,cAAA;AAAA,MACP,OAAA,EAAQ,WAAA;AAAA,MACR,KAAA,EAAM,4BAAA;AAAA,MACL,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAAA,cAAA;AAAA,QAAC,MAAA;AAAA,QAAA;AAAA,UACC,aAAA,EAAc,OAAA;AAAA,UACd,cAAA,EAAe,OAAA;AAAA,UACf,WAAA,EAAa,CAAA;AAAA,UACb,CAAA,EAAE;AAAA;AAAA;AACJ;AAAA,GACF;AAAA,EAEF,MAAA,EAAQ,CAAC,KAAA,qBACPA,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAU,SAAA;AAAA,MACV,IAAA,EAAK,MAAA;AAAA,MACL,MAAA,EAAO,cAAA;AAAA,MACP,OAAA,EAAQ,WAAA;AAAA,MACR,KAAA,EAAM,4BAAA;AAAA,MACL,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAAA,cAAA;AAAA,QAAC,MAAA;AAAA,QAAA;AAAA,UACC,aAAA,EAAc,OAAA;AAAA,UACd,cAAA,EAAe,OAAA;AAAA,UACf,WAAA,EAAa,CAAA;AAAA,UACb,CAAA,EAAE;AAAA;AAAA;AACJ;AAAA,GACF;AAAA,EAEF,IAAA,EAAM,CAAC,KAAA,qBACLA,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAU,SAAA;AAAA,MACV,IAAA,EAAK,MAAA;AAAA,MACL,MAAA,EAAO,cAAA;AAAA,MACP,OAAA,EAAQ,WAAA;AAAA,MACR,KAAA,EAAM,4BAAA;AAAA,MACL,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAAA,cAAA;AAAA,QAAC,MAAA;AAAA,QAAA;AAAA,UACC,aAAA,EAAc,OAAA;AAAA,UACd,cAAA,EAAe,OAAA;AAAA,UACf,WAAA,EAAa,CAAA;AAAA,UACb,CAAA,EAAE;AAAA;AAAA;AACJ;AAAA;AAGN;AAyBA,IAAM,gBAAA,GAAyBH,gBAAA,CAAA,UAAA;AAAA,EAI7B,CACE;AAAA,IACE,SAAA;AAAA,IACA,KAAA;AAAA,IACA,OAAA,GAAU,EAAE,IAAA,EAAM,CAAA,EAAG,IAAI,CAAA,EAAG,EAAA,EAAI,CAAA,EAAG,EAAA,EAAI,CAAA,EAAE;AAAA,IACzC,QAAA;AAAA,IACA,GAAG;AAAA,KAEL,GAAA,KACG;AACH,IAAA,MAAM,QAAA,GAAWI,oBAAA;AAAA,MACf,YAAA;AAAA;AAAA,MAEA,OAAA,CAAQ,IAAA,KAAS,CAAA,GAAI,aAAA,GAAgB,aAAA;AAAA;AAAA,MAErC,OAAA,CAAQ,EAAA,KAAO,CAAA,GAAI,gBAAA,GAAmB,gBAAA;AAAA;AAAA,MAEtC,OAAA,CAAQ,EAAA,KAAO,CAAA,GACX,gBAAA,GACA,OAAA,CAAQ,EAAA,KAAO,CAAA,GACb,gBAAA,GACA,OAAA,CAAQ,EAAA,KAAO,CAAA,GACb,gBAAA,GACA,EAAA;AAAA;AAAA,MAER,QAAQ,EAAA,KAAO,CAAA,GACX,mBACA,OAAA,CAAQ,EAAA,KAAO,IACb,gBAAA,GACA;AAAA,KACR;AAEA,IAAA,uBACEH,eAAA,CAAC,KAAA,EAAA,EAAI,GAAA,EAAU,SAAA,EAAuB,GAAG,KAAA,EACtC,QAAA,EAAA;AAAA,MAAA,KAAA,oBACCE,cAAA,CAAC,IAAA,EAAA,EAAG,SAAA,EAAU,6DAAA,EACX,QAAA,EAAA,KAAA,EACH,CAAA;AAAA,sBAEFA,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,QAAA,EAAW,QAAA,EAAS;AAAA,KAAA,EACtC,CAAA;AAAA,EAEJ;AACF;AAEA,gBAAA,CAAiB,WAAA,GAAc,kBAAA","file":"chunk-AU5ADTYD.cjs","sourcesContent":["import * as React from 'react';\nimport { cva } from 'class-variance-authority';\nimport { cn } from '../../utils/cn';\n\nconst quickActionIconVariants = cva(\n ['flex items-center justify-center rounded-xl', 'h-10 w-10'],\n {\n variants: {\n color: {\n primary:\n 'bg-primary-100 text-primary-600 dark:bg-primary-900/50 dark:text-primary-400',\n green:\n 'bg-emerald-100 text-emerald-600 dark:bg-emerald-900/50 dark:text-emerald-400',\n purple:\n 'bg-violet-100 text-violet-600 dark:bg-violet-900/50 dark:text-violet-400',\n orange:\n 'bg-orange-100 text-orange-600 dark:bg-orange-900/50 dark:text-orange-400',\n blue: 'bg-sky-100 text-sky-600 dark:bg-sky-900/50 dark:text-sky-400',\n red: 'bg-rose-100 text-rose-600 dark:bg-rose-900/50 dark:text-rose-400',\n amber:\n 'bg-amber-100 text-amber-600 dark:bg-amber-900/50 dark:text-amber-400',\n neutral:\n 'bg-neutral-100 text-neutral-600 dark:bg-neutral-800 dark:text-neutral-400',\n },\n },\n defaultVariants: {\n color: 'primary',\n },\n }\n);\n\nconst quickActionVariants = cva(\n [\n 'flex items-center gap-3 rounded-xl border p-4 text-left',\n 'transition-colors duration-200',\n 'border-neutral-200 bg-white',\n 'hover:border-primary-300 hover:bg-primary-50',\n 'dark:border-neutral-700 dark:bg-neutral-800',\n 'dark:hover:border-primary-700 dark:hover:bg-primary-900/20',\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 focus-visible:ring-offset-2',\n 'dark:focus-visible:ring-offset-neutral-900',\n ],\n {\n variants: {\n disabled: {\n true: [\n 'opacity-50 cursor-not-allowed',\n 'hover:border-neutral-200 hover:bg-white',\n 'dark:hover:border-neutral-700 dark:hover:bg-neutral-800',\n ],\n false: 'cursor-pointer',\n },\n },\n defaultVariants: {\n disabled: false,\n },\n }\n);\n\nexport type QuickActionColor =\n | 'primary'\n | 'green'\n | 'purple'\n | 'orange'\n | 'blue'\n | 'red'\n | 'amber'\n | 'neutral';\n\nexport interface QuickActionProps extends Omit<\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n 'color' | 'disabled'\n> {\n /** The main title text */\n title: string;\n /** The subtitle/description text */\n subtitle: string;\n /** Icon to display in the colored background */\n icon: React.ReactNode;\n /** Color theme for the icon background */\n color?: QuickActionColor;\n /** Render as a different element (e.g., 'a' for links) */\n as?: 'button' | 'a';\n /** URL when rendered as a link */\n href?: string;\n /** Whether the action is disabled */\n disabled?: boolean;\n}\n\n/**\n * A quick action card component for dashboard navigation.\n * Displays an icon, title, and subtitle in a compact, clickable card.\n *\n * @example\n * ```tsx\n * <QuickAction\n * title=\"Schedule Exam\"\n * subtitle=\"Find providers nearby\"\n * color=\"primary\"\n * icon={<CalendarIcon className=\"h-5 w-5\" />}\n * onClick={() => navigate('/schedule')}\n * />\n * ```\n */\nconst QuickAction = React.forwardRef<HTMLButtonElement, QuickActionProps>(\n (\n {\n className,\n title,\n subtitle,\n icon,\n color = 'primary',\n disabled,\n as = 'button',\n href,\n ...props\n },\n ref\n ) => {\n const content = (\n <>\n <div className={cn(quickActionIconVariants({ color }))}>{icon}</div>\n <div>\n <div className=\"font-medium text-neutral-900 dark:text-white\">\n {title}\n </div>\n <div className=\"text-xs text-neutral-500 dark:text-neutral-400\">\n {subtitle}\n </div>\n </div>\n </>\n );\n\n if (as === 'a' && href) {\n return (\n <a\n href={href}\n className={cn(quickActionVariants({ disabled }), className)}\n aria-disabled={disabled}\n {...(props as React.AnchorHTMLAttributes<globalThis.HTMLAnchorElement>)}\n >\n {content}\n </a>\n );\n }\n\n return (\n <button\n ref={ref}\n type=\"button\"\n disabled={disabled ?? undefined}\n className={cn(quickActionVariants({ disabled }), className)}\n {...props}\n >\n {content}\n </button>\n );\n }\n);\n\nQuickAction.displayName = 'QuickAction';\n\n// Predefined icons for common quick actions\nexport const QuickActionIcons = {\n Calendar: (props: React.SVGProps<globalThis.SVGSVGElement>) => (\n <svg\n className=\"h-5 w-5\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z\"\n />\n </svg>\n ),\n Clipboard: (props: React.SVGProps<globalThis.SVGSVGElement>) => (\n <svg\n className=\"h-5 w-5\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"\n />\n </svg>\n ),\n User: (props: React.SVGProps<globalThis.SVGSVGElement>) => (\n <svg\n className=\"h-5 w-5\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z\"\n />\n </svg>\n ),\n Document: (props: React.SVGProps<globalThis.SVGSVGElement>) => (\n <svg\n className=\"h-5 w-5\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z\"\n />\n </svg>\n ),\n Settings: (props: React.SVGProps<globalThis.SVGSVGElement>) => (\n <svg\n className=\"h-5 w-5\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z\"\n />\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M15 12a3 3 0 11-6 0 3 3 0 016 0z\"\n />\n </svg>\n ),\n Help: (props: React.SVGProps<globalThis.SVGSVGElement>) => (\n <svg\n className=\"h-5 w-5\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"\n />\n </svg>\n ),\n Search: (props: React.SVGProps<globalThis.SVGSVGElement>) => (\n <svg\n className=\"h-5 w-5\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z\"\n />\n </svg>\n ),\n Bell: (props: React.SVGProps<globalThis.SVGSVGElement>) => (\n <svg\n className=\"h-5 w-5\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9\"\n />\n </svg>\n ),\n};\n\n/**\n * A group/container component for displaying multiple QuickAction cards in a grid.\n *\n * @example\n * ```tsx\n * <QuickActionGroup title=\"Quick Actions\">\n * <QuickAction title=\"Action 1\" ... />\n * <QuickAction title=\"Action 2\" ... />\n * </QuickActionGroup>\n * ```\n */\nexport interface QuickActionGroupProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Optional title to display above the quick actions */\n title?: string;\n /** Number of columns on different screen sizes */\n columns?: {\n base?: 1 | 2;\n sm?: 1 | 2;\n md?: 2 | 3 | 4;\n lg?: 2 | 3 | 4;\n };\n}\n\nconst QuickActionGroup = React.forwardRef<\n HTMLDivElement,\n QuickActionGroupProps\n>(\n (\n {\n className,\n title,\n columns = { base: 1, sm: 2, md: 2, lg: 4 },\n children,\n ...props\n },\n ref\n ) => {\n const gridCols = cn(\n 'grid gap-4',\n // Base (mobile)\n columns.base === 1 ? 'grid-cols-1' : 'grid-cols-2',\n // Small screens\n columns.sm === 1 ? 'sm:grid-cols-1' : 'sm:grid-cols-2',\n // Medium screens\n columns.md === 2\n ? 'md:grid-cols-2'\n : columns.md === 3\n ? 'md:grid-cols-3'\n : columns.md === 4\n ? 'md:grid-cols-4'\n : '',\n // Large screens\n columns.lg === 2\n ? 'lg:grid-cols-2'\n : columns.lg === 3\n ? 'lg:grid-cols-3'\n : 'lg:grid-cols-4'\n );\n\n return (\n <div ref={ref} className={className} {...props}>\n {title && (\n <h2 className=\"mb-4 text-lg font-semibold text-neutral-900 dark:text-white\">\n {title}\n </h2>\n )}\n <div className={gridCols}>{children}</div>\n </div>\n );\n }\n);\n\nQuickActionGroup.displayName = 'QuickActionGroup';\n\nexport {\n QuickAction,\n QuickActionGroup,\n quickActionVariants,\n quickActionIconVariants,\n};\n"]}
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
import { cn } from './chunk-F3SOEIN2.js';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
4
|
+
|
|
5
|
+
var Table = React.forwardRef(
|
|
6
|
+
({ className, responsive = true, children, ...props }, ref) => {
|
|
7
|
+
const table = /* @__PURE__ */ jsx(
|
|
8
|
+
"table",
|
|
9
|
+
{
|
|
10
|
+
ref,
|
|
11
|
+
className: cn("w-full caption-bottom text-sm", className),
|
|
12
|
+
...props,
|
|
13
|
+
children
|
|
14
|
+
}
|
|
15
|
+
);
|
|
16
|
+
if (responsive) {
|
|
17
|
+
return /* @__PURE__ */ jsx("div", { className: "relative w-full overflow-auto", children: table });
|
|
18
|
+
}
|
|
19
|
+
return table;
|
|
20
|
+
}
|
|
21
|
+
);
|
|
22
|
+
Table.displayName = "Table";
|
|
23
|
+
var TableHeader = React.forwardRef(
|
|
24
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx("thead", { ref, className: cn("[&_tr]:border-b", className), ...props })
|
|
25
|
+
);
|
|
26
|
+
TableHeader.displayName = "TableHeader";
|
|
27
|
+
var TableBody = React.forwardRef(
|
|
28
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
29
|
+
"tbody",
|
|
30
|
+
{
|
|
31
|
+
ref,
|
|
32
|
+
className: cn("[&_tr:last-child]:border-0", className),
|
|
33
|
+
...props
|
|
34
|
+
}
|
|
35
|
+
)
|
|
36
|
+
);
|
|
37
|
+
TableBody.displayName = "TableBody";
|
|
38
|
+
var TableFooter = React.forwardRef(
|
|
39
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
40
|
+
"tfoot",
|
|
41
|
+
{
|
|
42
|
+
ref,
|
|
43
|
+
className: cn(
|
|
44
|
+
"bg-muted/50 border-t font-medium [&>tr]:last:border-b-0",
|
|
45
|
+
className
|
|
46
|
+
),
|
|
47
|
+
...props
|
|
48
|
+
}
|
|
49
|
+
)
|
|
50
|
+
);
|
|
51
|
+
TableFooter.displayName = "TableFooter";
|
|
52
|
+
var TableRow = React.forwardRef(
|
|
53
|
+
({ className, selected, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
54
|
+
"tr",
|
|
55
|
+
{
|
|
56
|
+
ref,
|
|
57
|
+
"data-selected": selected,
|
|
58
|
+
className: cn(
|
|
59
|
+
"border-border border-b transition-colors",
|
|
60
|
+
"hover:bg-muted/50",
|
|
61
|
+
"data-[selected=true]:bg-muted",
|
|
62
|
+
className
|
|
63
|
+
),
|
|
64
|
+
...props
|
|
65
|
+
}
|
|
66
|
+
)
|
|
67
|
+
);
|
|
68
|
+
TableRow.displayName = "TableRow";
|
|
69
|
+
var TableHead = React.forwardRef(
|
|
70
|
+
({ className, sortable, sortDirection, onSort, children, ...props }, ref) => {
|
|
71
|
+
const content = sortable ? /* @__PURE__ */ jsxs(
|
|
72
|
+
"button",
|
|
73
|
+
{
|
|
74
|
+
type: "button",
|
|
75
|
+
onClick: onSort,
|
|
76
|
+
className: cn(
|
|
77
|
+
"hover:text-foreground flex items-center gap-1 transition-colors",
|
|
78
|
+
"focus-visible:ring-ring rounded focus-visible:ring-2 focus-visible:outline-none"
|
|
79
|
+
),
|
|
80
|
+
"aria-label": `Sort column ${sortDirection === "asc" ? "descending" : "ascending"}`,
|
|
81
|
+
children: [
|
|
82
|
+
children,
|
|
83
|
+
/* @__PURE__ */ jsx(SortIcon, { direction: sortDirection })
|
|
84
|
+
]
|
|
85
|
+
}
|
|
86
|
+
) : children;
|
|
87
|
+
return /* @__PURE__ */ jsx(
|
|
88
|
+
"th",
|
|
89
|
+
{
|
|
90
|
+
ref,
|
|
91
|
+
"aria-sort": sortable ? sortDirection === "asc" ? "ascending" : sortDirection === "desc" ? "descending" : "none" : void 0,
|
|
92
|
+
className: cn(
|
|
93
|
+
"text-muted-foreground h-12 px-4 text-left align-middle font-medium",
|
|
94
|
+
"[&:has([role=checkbox])]:pr-0",
|
|
95
|
+
className
|
|
96
|
+
),
|
|
97
|
+
...props,
|
|
98
|
+
children: content
|
|
99
|
+
}
|
|
100
|
+
);
|
|
101
|
+
}
|
|
102
|
+
);
|
|
103
|
+
TableHead.displayName = "TableHead";
|
|
104
|
+
var TableCell = React.forwardRef(
|
|
105
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
106
|
+
"td",
|
|
107
|
+
{
|
|
108
|
+
ref,
|
|
109
|
+
className: cn(
|
|
110
|
+
"p-4 align-middle [&:has([role=checkbox])]:pr-0",
|
|
111
|
+
className
|
|
112
|
+
),
|
|
113
|
+
...props
|
|
114
|
+
}
|
|
115
|
+
)
|
|
116
|
+
);
|
|
117
|
+
TableCell.displayName = "TableCell";
|
|
118
|
+
var TableCaption = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
119
|
+
"caption",
|
|
120
|
+
{
|
|
121
|
+
ref,
|
|
122
|
+
className: cn("text-muted-foreground mt-4 text-sm", className),
|
|
123
|
+
...props
|
|
124
|
+
}
|
|
125
|
+
));
|
|
126
|
+
TableCaption.displayName = "TableCaption";
|
|
127
|
+
function SortIcon({ direction }) {
|
|
128
|
+
if (direction === "asc") {
|
|
129
|
+
return /* @__PURE__ */ jsx(
|
|
130
|
+
"svg",
|
|
131
|
+
{
|
|
132
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
133
|
+
width: "16",
|
|
134
|
+
height: "16",
|
|
135
|
+
viewBox: "0 0 24 24",
|
|
136
|
+
fill: "none",
|
|
137
|
+
stroke: "currentColor",
|
|
138
|
+
strokeWidth: "2",
|
|
139
|
+
strokeLinecap: "round",
|
|
140
|
+
strokeLinejoin: "round",
|
|
141
|
+
"aria-hidden": "true",
|
|
142
|
+
className: "shrink-0",
|
|
143
|
+
children: /* @__PURE__ */ jsx("path", { d: "m5 12 7-7 7 7" })
|
|
144
|
+
}
|
|
145
|
+
);
|
|
146
|
+
}
|
|
147
|
+
if (direction === "desc") {
|
|
148
|
+
return /* @__PURE__ */ jsx(
|
|
149
|
+
"svg",
|
|
150
|
+
{
|
|
151
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
152
|
+
width: "16",
|
|
153
|
+
height: "16",
|
|
154
|
+
viewBox: "0 0 24 24",
|
|
155
|
+
fill: "none",
|
|
156
|
+
stroke: "currentColor",
|
|
157
|
+
strokeWidth: "2",
|
|
158
|
+
strokeLinecap: "round",
|
|
159
|
+
strokeLinejoin: "round",
|
|
160
|
+
"aria-hidden": "true",
|
|
161
|
+
className: "shrink-0",
|
|
162
|
+
children: /* @__PURE__ */ jsx("path", { d: "m19 12-7 7-7-7" })
|
|
163
|
+
}
|
|
164
|
+
);
|
|
165
|
+
}
|
|
166
|
+
return /* @__PURE__ */ jsxs(
|
|
167
|
+
"svg",
|
|
168
|
+
{
|
|
169
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
170
|
+
width: "16",
|
|
171
|
+
height: "16",
|
|
172
|
+
viewBox: "0 0 24 24",
|
|
173
|
+
fill: "none",
|
|
174
|
+
stroke: "currentColor",
|
|
175
|
+
strokeWidth: "2",
|
|
176
|
+
strokeLinecap: "round",
|
|
177
|
+
strokeLinejoin: "round",
|
|
178
|
+
"aria-hidden": "true",
|
|
179
|
+
className: "shrink-0 opacity-50",
|
|
180
|
+
children: [
|
|
181
|
+
/* @__PURE__ */ jsx("path", { d: "m7 15 5 5 5-5" }),
|
|
182
|
+
/* @__PURE__ */ jsx("path", { d: "m7 9 5-5 5 5" })
|
|
183
|
+
]
|
|
184
|
+
}
|
|
185
|
+
);
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
export { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow };
|
|
189
|
+
//# sourceMappingURL=chunk-AWIULTJW.js.map
|
|
190
|
+
//# sourceMappingURL=chunk-AWIULTJW.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/Table/Table.tsx"],"names":[],"mappings":";;;;AAiCA,IAAM,KAAA,GAAc,KAAA,CAAA,UAAA;AAAA,EAClB,CAAC,EAAE,SAAA,EAAW,UAAA,GAAa,MAAM,QAAA,EAAU,GAAG,KAAA,EAAM,EAAG,GAAA,KAAQ;AAC7D,IAAA,MAAM,KAAA,mBACJ,GAAA;AAAA,MAAC,OAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,SAAA,EAAW,EAAA,CAAG,+BAAA,EAAiC,SAAS,CAAA;AAAA,QACvD,GAAG,KAAA;AAAA,QAEH;AAAA;AAAA,KACH;AAGF,IAAA,IAAI,UAAA,EAAY;AACd,MAAA,uBAAO,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,+BAAA,EAAiC,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,IAC/D;AAEA,IAAA,OAAO,KAAA;AAAA,EACT;AACF;AAEA,KAAA,CAAM,WAAA,GAAc,OAAA;AAQpB,IAAM,WAAA,GAAoB,KAAA,CAAA,UAAA;AAAA,EACxB,CAAC,EAAE,SAAA,EAAW,GAAG,KAAA,IAAS,GAAA,qBACxB,GAAA,CAAC,OAAA,EAAA,EAAM,GAAA,EAAU,WAAW,EAAA,CAAG,iBAAA,EAAmB,SAAS,CAAA,EAAI,GAAG,KAAA,EAAO;AAE7E;AAEA,WAAA,CAAY,WAAA,GAAc,aAAA;AAQ1B,IAAM,SAAA,GAAkB,KAAA,CAAA,UAAA;AAAA,EACtB,CAAC,EAAE,SAAA,EAAW,GAAG,KAAA,IAAS,GAAA,qBACxB,GAAA;AAAA,IAAC,OAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,SAAA,EAAW,EAAA,CAAG,4BAAA,EAA8B,SAAS,CAAA;AAAA,MACpD,GAAG;AAAA;AAAA;AAGV;AAEA,SAAA,CAAU,WAAA,GAAc,WAAA;AAQxB,IAAM,WAAA,GAAoB,KAAA,CAAA,UAAA;AAAA,EACxB,CAAC,EAAE,SAAA,EAAW,GAAG,KAAA,IAAS,GAAA,qBACxB,GAAA;AAAA,IAAC,OAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,SAAA,EAAW,EAAA;AAAA,QACT,yDAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA;AAGV;AAEA,WAAA,CAAY,WAAA,GAAc,aAAA;AAW1B,IAAM,QAAA,GAAiB,KAAA,CAAA,UAAA;AAAA,EACrB,CAAC,EAAE,SAAA,EAAW,UAAU,GAAG,KAAA,IAAS,GAAA,qBAClC,GAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,eAAA,EAAe,QAAA;AAAA,MACf,SAAA,EAAW,EAAA;AAAA,QACT,0CAAA;AAAA,QACA,mBAAA;AAAA,QACA,+BAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA;AAGV;AAEA,QAAA,CAAS,WAAA,GAAc,UAAA;AAevB,IAAM,SAAA,GAAkB,KAAA,CAAA,UAAA;AAAA,EACtB,CAAC,EAAE,SAAA,EAAW,QAAA,EAAU,aAAA,EAAe,QAAQ,QAAA,EAAU,GAAG,KAAA,EAAM,EAAG,GAAA,KAAQ;AAC3E,IAAA,MAAM,UAAU,QAAA,mBACd,IAAA;AAAA,MAAC,QAAA;AAAA,MAAA;AAAA,QACC,IAAA,EAAK,QAAA;AAAA,QACL,OAAA,EAAS,MAAA;AAAA,QACT,SAAA,EAAW,EAAA;AAAA,UACT,iEAAA;AAAA,UACA;AAAA,SACF;AAAA,QACA,YAAA,EAAY,CAAA,YAAA,EAAe,aAAA,KAAkB,KAAA,GAAQ,eAAe,WAAW,CAAA,CAAA;AAAA,QAE9E,QAAA,EAAA;AAAA,UAAA,QAAA;AAAA,0BACD,GAAA,CAAC,QAAA,EAAA,EAAS,SAAA,EAAW,aAAA,EAAe;AAAA;AAAA;AAAA,KACtC,GAEA,QAAA;AAGF,IAAA,uBACE,GAAA;AAAA,MAAC,IAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,WAAA,EACE,WACI,aAAA,KAAkB,KAAA,GAChB,cACA,aAAA,KAAkB,MAAA,GAChB,eACA,MAAA,GACJ,MAAA;AAAA,QAEN,SAAA,EAAW,EAAA;AAAA,UACT,oEAAA;AAAA,UACA,+BAAA;AAAA,UACA;AAAA,SACF;AAAA,QACC,GAAG,KAAA;AAAA,QAEH,QAAA,EAAA;AAAA;AAAA,KACH;AAAA,EAEJ;AACF;AAEA,SAAA,CAAU,WAAA,GAAc,WAAA;AAQxB,IAAM,SAAA,GAAkB,KAAA,CAAA,UAAA;AAAA,EACtB,CAAC,EAAE,SAAA,EAAW,GAAG,KAAA,IAAS,GAAA,qBACxB,GAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,SAAA,EAAW,EAAA;AAAA,QACT,gDAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA;AAGV;AAEA,SAAA,CAAU,WAAA,GAAc,WAAA;AAQxB,IAAM,YAAA,GAAqB,iBAGzB,CAAC,EAAE,WAAW,GAAG,KAAA,IAAS,GAAA,qBAC1B,GAAA;AAAA,EAAC,SAAA;AAAA,EAAA;AAAA,IACC,GAAA;AAAA,IACA,SAAA,EAAW,EAAA,CAAG,oCAAA,EAAsC,SAAS,CAAA;AAAA,IAC5D,GAAG;AAAA;AACN,CACD;AAED,YAAA,CAAa,WAAA,GAAc,cAAA;AAM3B,SAAS,QAAA,CAAS,EAAE,SAAA,EAAU,EAA0C;AACtE,EAAA,IAAI,cAAc,KAAA,EAAO;AACvB,IAAA,uBACE,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,KAAA,EAAM,4BAAA;AAAA,QACN,KAAA,EAAM,IAAA;AAAA,QACN,MAAA,EAAO,IAAA;AAAA,QACP,OAAA,EAAQ,WAAA;AAAA,QACR,IAAA,EAAK,MAAA;AAAA,QACL,MAAA,EAAO,cAAA;AAAA,QACP,WAAA,EAAY,GAAA;AAAA,QACZ,aAAA,EAAc,OAAA;AAAA,QACd,cAAA,EAAe,OAAA;AAAA,QACf,aAAA,EAAY,MAAA;AAAA,QACZ,SAAA,EAAU,UAAA;AAAA,QAEV,QAAA,kBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,eAAA,EAAgB;AAAA;AAAA,KAC1B;AAAA,EAEJ;AAEA,EAAA,IAAI,cAAc,MAAA,EAAQ;AACxB,IAAA,uBACE,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,KAAA,EAAM,4BAAA;AAAA,QACN,KAAA,EAAM,IAAA;AAAA,QACN,MAAA,EAAO,IAAA;AAAA,QACP,OAAA,EAAQ,WAAA;AAAA,QACR,IAAA,EAAK,MAAA;AAAA,QACL,MAAA,EAAO,cAAA;AAAA,QACP,WAAA,EAAY,GAAA;AAAA,QACZ,aAAA,EAAc,OAAA;AAAA,QACd,cAAA,EAAe,OAAA;AAAA,QACf,aAAA,EAAY,MAAA;AAAA,QACZ,SAAA,EAAU,UAAA;AAAA,QAEV,QAAA,kBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,gBAAA,EAAiB;AAAA;AAAA,KAC3B;AAAA,EAEJ;AAEA,EAAA,uBACE,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,KAAA,EAAM,4BAAA;AAAA,MACN,KAAA,EAAM,IAAA;AAAA,MACN,MAAA,EAAO,IAAA;AAAA,MACP,OAAA,EAAQ,WAAA;AAAA,MACR,IAAA,EAAK,MAAA;AAAA,MACL,MAAA,EAAO,cAAA;AAAA,MACP,WAAA,EAAY,GAAA;AAAA,MACZ,aAAA,EAAc,OAAA;AAAA,MACd,cAAA,EAAe,OAAA;AAAA,MACf,aAAA,EAAY,MAAA;AAAA,MACZ,SAAA,EAAU,qBAAA;AAAA,MAEV,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,GAAE,eAAA,EAAgB,CAAA;AAAA,wBACxB,GAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,cAAA,EAAe;AAAA;AAAA;AAAA,GACzB;AAEJ","file":"chunk-AWIULTJW.js","sourcesContent":["import * as React from 'react';\nimport { cn } from '../../utils/cn';\n\n// ============================================================================\n// Table Root\n// ============================================================================\n\nexport interface TableProps extends React.TableHTMLAttributes<HTMLTableElement> {\n /** Whether to make the table responsive with horizontal scroll */\n responsive?: boolean;\n}\n\n/**\n * An accessible table component.\n *\n * @example\n * ```tsx\n * <Table>\n * <TableHeader>\n * <TableRow>\n * <TableHead>Name</TableHead>\n * <TableHead>Email</TableHead>\n * </TableRow>\n * </TableHeader>\n * <TableBody>\n * <TableRow>\n * <TableCell>John Doe</TableCell>\n * <TableCell>john@example.com</TableCell>\n * </TableRow>\n * </TableBody>\n * </Table>\n * ```\n */\nconst Table = React.forwardRef<HTMLTableElement, TableProps>(\n ({ className, responsive = true, children, ...props }, ref) => {\n const table = (\n <table\n ref={ref}\n className={cn('w-full caption-bottom text-sm', className)}\n {...props}\n >\n {children}\n </table>\n );\n\n if (responsive) {\n return <div className=\"relative w-full overflow-auto\">{table}</div>;\n }\n\n return table;\n }\n);\n\nTable.displayName = 'Table';\n\n// ============================================================================\n// Table Header\n// ============================================================================\n\nexport type TableHeaderProps = React.HTMLAttributes<HTMLTableSectionElement>;\n\nconst TableHeader = React.forwardRef<HTMLTableSectionElement, TableHeaderProps>(\n ({ className, ...props }, ref) => (\n <thead ref={ref} className={cn('[&_tr]:border-b', className)} {...props} />\n )\n);\n\nTableHeader.displayName = 'TableHeader';\n\n// ============================================================================\n// Table Body\n// ============================================================================\n\nexport type TableBodyProps = React.HTMLAttributes<HTMLTableSectionElement>;\n\nconst TableBody = React.forwardRef<HTMLTableSectionElement, TableBodyProps>(\n ({ className, ...props }, ref) => (\n <tbody\n ref={ref}\n className={cn('[&_tr:last-child]:border-0', className)}\n {...props}\n />\n )\n);\n\nTableBody.displayName = 'TableBody';\n\n// ============================================================================\n// Table Footer\n// ============================================================================\n\nexport type TableFooterProps = React.HTMLAttributes<HTMLTableSectionElement>;\n\nconst TableFooter = React.forwardRef<HTMLTableSectionElement, TableFooterProps>(\n ({ className, ...props }, ref) => (\n <tfoot\n ref={ref}\n className={cn(\n 'bg-muted/50 border-t font-medium [&>tr]:last:border-b-0',\n className\n )}\n {...props}\n />\n )\n);\n\nTableFooter.displayName = 'TableFooter';\n\n// ============================================================================\n// Table Row\n// ============================================================================\n\nexport interface TableRowProps extends React.HTMLAttributes<HTMLTableRowElement> {\n /** Whether the row is selected */\n selected?: boolean;\n}\n\nconst TableRow = React.forwardRef<HTMLTableRowElement, TableRowProps>(\n ({ className, selected, ...props }, ref) => (\n <tr\n ref={ref}\n data-selected={selected}\n className={cn(\n 'border-border border-b transition-colors',\n 'hover:bg-muted/50',\n 'data-[selected=true]:bg-muted',\n className\n )}\n {...props}\n />\n )\n);\n\nTableRow.displayName = 'TableRow';\n\n// ============================================================================\n// Table Head\n// ============================================================================\n\nexport interface TableHeadProps extends React.ThHTMLAttributes<HTMLTableCellElement> {\n /** Sortable column configuration */\n sortable?: boolean;\n /** Current sort direction */\n sortDirection?: 'asc' | 'desc' | null;\n /** Callback when sort is triggered */\n onSort?: () => void;\n}\n\nconst TableHead = React.forwardRef<HTMLTableCellElement, TableHeadProps>(\n ({ className, sortable, sortDirection, onSort, children, ...props }, ref) => {\n const content = sortable ? (\n <button\n type=\"button\"\n onClick={onSort}\n className={cn(\n 'hover:text-foreground flex items-center gap-1 transition-colors',\n 'focus-visible:ring-ring rounded focus-visible:ring-2 focus-visible:outline-none'\n )}\n aria-label={`Sort column ${sortDirection === 'asc' ? 'descending' : 'ascending'}`}\n >\n {children}\n <SortIcon direction={sortDirection} />\n </button>\n ) : (\n children\n );\n\n return (\n <th\n ref={ref}\n aria-sort={\n sortable\n ? sortDirection === 'asc'\n ? 'ascending'\n : sortDirection === 'desc'\n ? 'descending'\n : 'none'\n : undefined\n }\n className={cn(\n 'text-muted-foreground h-12 px-4 text-left align-middle font-medium',\n '[&:has([role=checkbox])]:pr-0',\n className\n )}\n {...props}\n >\n {content}\n </th>\n );\n }\n);\n\nTableHead.displayName = 'TableHead';\n\n// ============================================================================\n// Table Cell\n// ============================================================================\n\nexport type TableCellProps = React.TdHTMLAttributes<HTMLTableCellElement>;\n\nconst TableCell = React.forwardRef<HTMLTableCellElement, TableCellProps>(\n ({ className, ...props }, ref) => (\n <td\n ref={ref}\n className={cn(\n 'p-4 align-middle [&:has([role=checkbox])]:pr-0',\n className\n )}\n {...props}\n />\n )\n);\n\nTableCell.displayName = 'TableCell';\n\n// ============================================================================\n// Table Caption\n// ============================================================================\n\nexport type TableCaptionProps = React.HTMLAttributes<HTMLTableCaptionElement>;\n\nconst TableCaption = React.forwardRef<\n HTMLTableCaptionElement,\n TableCaptionProps\n>(({ className, ...props }, ref) => (\n <caption\n ref={ref}\n className={cn('text-muted-foreground mt-4 text-sm', className)}\n {...props}\n />\n));\n\nTableCaption.displayName = 'TableCaption';\n\n// ============================================================================\n// Sort Icon\n// ============================================================================\n\nfunction SortIcon({ direction }: { direction?: 'asc' | 'desc' | null }) {\n if (direction === 'asc') {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n className=\"shrink-0\"\n >\n <path d=\"m5 12 7-7 7 7\" />\n </svg>\n );\n }\n\n if (direction === 'desc') {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n className=\"shrink-0\"\n >\n <path d=\"m19 12-7 7-7-7\" />\n </svg>\n );\n }\n\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n className=\"shrink-0 opacity-50\"\n >\n <path d=\"m7 15 5 5 5-5\" />\n <path d=\"m7 9 5-5 5 5\" />\n </svg>\n );\n}\n\nexport {\n Table,\n TableHeader,\n TableBody,\n TableFooter,\n TableRow,\n TableHead,\n TableCell,\n TableCaption,\n};\n"]}
|