@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,199 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
// src/tailwind-preset.ts
|
|
4
|
+
var miewebUISafelist = [
|
|
5
|
+
// Semantic colors
|
|
6
|
+
"border-border",
|
|
7
|
+
"border-input",
|
|
8
|
+
"ring-ring",
|
|
9
|
+
"bg-background",
|
|
10
|
+
"bg-card",
|
|
11
|
+
"bg-muted",
|
|
12
|
+
"bg-primary",
|
|
13
|
+
"bg-success",
|
|
14
|
+
"bg-warning",
|
|
15
|
+
"bg-destructive",
|
|
16
|
+
"bg-info",
|
|
17
|
+
"text-foreground",
|
|
18
|
+
"text-card-foreground",
|
|
19
|
+
"text-muted-foreground",
|
|
20
|
+
"text-primary",
|
|
21
|
+
"text-primary-foreground",
|
|
22
|
+
"text-success",
|
|
23
|
+
"text-success-foreground",
|
|
24
|
+
"text-warning",
|
|
25
|
+
"text-warning-foreground",
|
|
26
|
+
"text-destructive",
|
|
27
|
+
"text-destructive-foreground",
|
|
28
|
+
"text-info",
|
|
29
|
+
"text-info-foreground",
|
|
30
|
+
"focus:ring-ring",
|
|
31
|
+
"focus:ring-primary",
|
|
32
|
+
"focus:border-transparent",
|
|
33
|
+
"focus:ring-destructive",
|
|
34
|
+
"border-primary",
|
|
35
|
+
"border-destructive",
|
|
36
|
+
"ring-primary",
|
|
37
|
+
"ring-2",
|
|
38
|
+
"ring-offset-2",
|
|
39
|
+
// Grid classes for QuickAction and responsive layouts
|
|
40
|
+
"grid-cols-1",
|
|
41
|
+
"grid-cols-2",
|
|
42
|
+
"grid-cols-3",
|
|
43
|
+
"grid-cols-4",
|
|
44
|
+
"grid-cols-6",
|
|
45
|
+
"sm:grid-cols-1",
|
|
46
|
+
"sm:grid-cols-2",
|
|
47
|
+
"sm:grid-cols-3",
|
|
48
|
+
"sm:grid-cols-4",
|
|
49
|
+
"sm:grid-cols-6",
|
|
50
|
+
"md:grid-cols-2",
|
|
51
|
+
"md:grid-cols-3",
|
|
52
|
+
"md:grid-cols-4",
|
|
53
|
+
"lg:grid-cols-2",
|
|
54
|
+
"lg:grid-cols-3",
|
|
55
|
+
"lg:grid-cols-4",
|
|
56
|
+
// Switch component
|
|
57
|
+
"bg-neutral-200",
|
|
58
|
+
"dark:bg-neutral-700",
|
|
59
|
+
"bg-primary-500",
|
|
60
|
+
"h-5",
|
|
61
|
+
"w-9",
|
|
62
|
+
"h-6",
|
|
63
|
+
"w-11",
|
|
64
|
+
"h-7",
|
|
65
|
+
"w-14",
|
|
66
|
+
"h-4",
|
|
67
|
+
"w-4",
|
|
68
|
+
"w-5",
|
|
69
|
+
"w-6",
|
|
70
|
+
"translate-x-0.5",
|
|
71
|
+
"translate-x-4",
|
|
72
|
+
"translate-x-5",
|
|
73
|
+
"translate-x-7",
|
|
74
|
+
// SchedulePicker / overflow handling
|
|
75
|
+
"overflow-x-auto",
|
|
76
|
+
"overflow-hidden",
|
|
77
|
+
// Select component
|
|
78
|
+
"truncate"
|
|
79
|
+
];
|
|
80
|
+
var miewebUIPreset = {
|
|
81
|
+
darkMode: ["class", '[data-theme="dark"]'],
|
|
82
|
+
safelist: miewebUISafelist,
|
|
83
|
+
theme: {
|
|
84
|
+
extend: {
|
|
85
|
+
colors: {
|
|
86
|
+
// Primary color scale - easily overridable by consumers
|
|
87
|
+
primary: {
|
|
88
|
+
DEFAULT: "var(--mieweb-primary, var(--mieweb-primary-500, #27aae1))",
|
|
89
|
+
50: "var(--mieweb-primary-50, #f0f9ff)",
|
|
90
|
+
100: "var(--mieweb-primary-100, #e0f4fe)",
|
|
91
|
+
200: "var(--mieweb-primary-200, #b9eafd)",
|
|
92
|
+
300: "var(--mieweb-primary-300, #7cdbfc)",
|
|
93
|
+
400: "var(--mieweb-primary-400, #36c9f8)",
|
|
94
|
+
500: "var(--mieweb-primary-500, #27aae1)",
|
|
95
|
+
600: "var(--mieweb-primary-600, #0c90c9)",
|
|
96
|
+
700: "var(--mieweb-primary-700, #0b73a3)",
|
|
97
|
+
800: "var(--mieweb-primary-800, #0f6086)",
|
|
98
|
+
900: "var(--mieweb-primary-900, #124f6f)",
|
|
99
|
+
950: "var(--mieweb-primary-950, #0c334a)",
|
|
100
|
+
foreground: "var(--mieweb-primary-foreground, hsl(210 40% 98%))"
|
|
101
|
+
},
|
|
102
|
+
// Semantic colors using CSS variables for theming
|
|
103
|
+
border: "var(--mieweb-border, hsl(214.3 31.8% 91.4%))",
|
|
104
|
+
input: "var(--mieweb-input, hsl(214.3 31.8% 91.4%))",
|
|
105
|
+
ring: "var(--mieweb-ring, hsl(221.2 83.2% 53.3%))",
|
|
106
|
+
background: "var(--mieweb-background, hsl(0 0% 100%))",
|
|
107
|
+
foreground: "var(--mieweb-foreground, hsl(222.2 84% 4.9%))",
|
|
108
|
+
// Component-specific semantic colors
|
|
109
|
+
card: {
|
|
110
|
+
DEFAULT: "var(--mieweb-card, hsl(0 0% 100%))",
|
|
111
|
+
foreground: "var(--mieweb-card-foreground, hsl(222.2 84% 4.9%))"
|
|
112
|
+
},
|
|
113
|
+
muted: {
|
|
114
|
+
DEFAULT: "var(--mieweb-muted, hsl(210 40% 96.1%))",
|
|
115
|
+
foreground: "var(--mieweb-muted-foreground, hsl(215.4 16.3% 46.9%))"
|
|
116
|
+
},
|
|
117
|
+
destructive: {
|
|
118
|
+
DEFAULT: "var(--mieweb-destructive, hsl(0 84.2% 60.2%))",
|
|
119
|
+
foreground: "var(--mieweb-destructive-foreground, hsl(210 40% 98%))"
|
|
120
|
+
},
|
|
121
|
+
success: {
|
|
122
|
+
DEFAULT: "var(--mieweb-success, hsl(142.1 76.2% 36.3%))",
|
|
123
|
+
foreground: "var(--mieweb-success-foreground, hsl(355.7 100% 97.3%))"
|
|
124
|
+
},
|
|
125
|
+
warning: {
|
|
126
|
+
DEFAULT: "var(--mieweb-warning, hsl(45.4 93.4% 47.5%))",
|
|
127
|
+
foreground: "var(--mieweb-warning-foreground, hsl(26 83.3% 14.1%))"
|
|
128
|
+
},
|
|
129
|
+
info: {
|
|
130
|
+
DEFAULT: "var(--mieweb-info, hsl(204 94% 94%))",
|
|
131
|
+
foreground: "var(--mieweb-info-foreground, hsl(213 31% 91%))"
|
|
132
|
+
}
|
|
133
|
+
},
|
|
134
|
+
fontFamily: {
|
|
135
|
+
sans: [
|
|
136
|
+
"var(--mieweb-font-sans, ui-sans-serif)",
|
|
137
|
+
"system-ui",
|
|
138
|
+
"sans-serif"
|
|
139
|
+
]
|
|
140
|
+
},
|
|
141
|
+
borderRadius: {
|
|
142
|
+
"2xl": "var(--mieweb-radius-2xl, 1rem)",
|
|
143
|
+
lg: "var(--mieweb-radius-lg, 0.75rem)",
|
|
144
|
+
md: "var(--mieweb-radius-md, 0.5rem)",
|
|
145
|
+
sm: "var(--mieweb-radius-sm, 0.25rem)",
|
|
146
|
+
xl: "var(--mieweb-radius-xl, 1rem)"
|
|
147
|
+
},
|
|
148
|
+
boxShadow: {
|
|
149
|
+
card: "var(--mieweb-shadow-card, 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1))"
|
|
150
|
+
},
|
|
151
|
+
keyframes: {
|
|
152
|
+
"fade-in": {
|
|
153
|
+
"0%": { opacity: "0" },
|
|
154
|
+
"100%": { opacity: "1" }
|
|
155
|
+
},
|
|
156
|
+
"fade-out": {
|
|
157
|
+
"0%": { opacity: "1" },
|
|
158
|
+
"100%": { opacity: "0" }
|
|
159
|
+
},
|
|
160
|
+
"slide-in-from-top": {
|
|
161
|
+
"0%": { transform: "translateY(-0.5rem)", opacity: "0" },
|
|
162
|
+
"100%": { transform: "translateY(0)", opacity: "1" }
|
|
163
|
+
},
|
|
164
|
+
"slide-in-from-bottom": {
|
|
165
|
+
"0%": { transform: "translateY(0.5rem)", opacity: "0" },
|
|
166
|
+
"100%": { transform: "translateY(0)", opacity: "1" }
|
|
167
|
+
},
|
|
168
|
+
"slide-in-right": {
|
|
169
|
+
"0%": { transform: "translateX(100%)", opacity: "0" },
|
|
170
|
+
"100%": { transform: "translateX(0)", opacity: "1" }
|
|
171
|
+
},
|
|
172
|
+
"slide-in-left": {
|
|
173
|
+
"0%": { transform: "translateX(-100%)", opacity: "0" },
|
|
174
|
+
"100%": { transform: "translateX(0)", opacity: "1" }
|
|
175
|
+
},
|
|
176
|
+
"scale-in": {
|
|
177
|
+
"0%": { transform: "scale(0.95)", opacity: "0" },
|
|
178
|
+
"100%": { transform: "scale(1)", opacity: "1" }
|
|
179
|
+
}
|
|
180
|
+
},
|
|
181
|
+
animation: {
|
|
182
|
+
"fade-in": "fade-in 150ms ease-out",
|
|
183
|
+
"fade-out": "fade-out 150ms ease-in",
|
|
184
|
+
"slide-in-from-top": "slide-in-from-top 150ms ease-out",
|
|
185
|
+
"slide-in-from-bottom": "slide-in-from-bottom 150ms ease-out",
|
|
186
|
+
"slide-in-right": "slide-in-right 300ms ease-out",
|
|
187
|
+
"slide-in-left": "slide-in-left 300ms ease-out",
|
|
188
|
+
"scale-in": "scale-in 150ms ease-out"
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
};
|
|
193
|
+
var tailwind_preset_default = miewebUIPreset;
|
|
194
|
+
|
|
195
|
+
exports.miewebUIPreset = miewebUIPreset;
|
|
196
|
+
exports.miewebUISafelist = miewebUISafelist;
|
|
197
|
+
exports.tailwind_preset_default = tailwind_preset_default;
|
|
198
|
+
//# sourceMappingURL=chunk-SJ3BF4BO.cjs.map
|
|
199
|
+
//# sourceMappingURL=chunk-SJ3BF4BO.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/tailwind-preset.ts"],"names":[],"mappings":"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","file":"chunk-SJ3BF4BO.cjs","sourcesContent":["/**\n * @mieweb/ui Tailwind CSS Preset\n *\n * This preset provides the default theme configuration for @mieweb/ui components.\n * Consumers can extend or override these values in their own tailwind.config.js\n *\n * Usage:\n * ```js\n * // tailwind.config.js\n * module.exports = {\n * presets: [require('@mieweb/ui/tailwind-preset')],\n * theme: {\n * extend: {\n * colors: {\n * primary: {\n * 500: '#your-brand-color',\n * },\n * },\n * },\n * },\n * };\n * ```\n */\n\n/**\n * Safelist of classes used by @mieweb/ui components.\n * These must be safelisted because Tailwind may not detect them when\n * components are imported from node_modules (especially with Tailwind CSS 4).\n */\nexport const miewebUISafelist = [\n // Semantic colors\n 'border-border',\n 'border-input',\n 'ring-ring',\n 'bg-background',\n 'bg-card',\n 'bg-muted',\n 'bg-primary',\n 'bg-success',\n 'bg-warning',\n 'bg-destructive',\n 'bg-info',\n 'text-foreground',\n 'text-card-foreground',\n 'text-muted-foreground',\n 'text-primary',\n 'text-primary-foreground',\n 'text-success',\n 'text-success-foreground',\n 'text-warning',\n 'text-warning-foreground',\n 'text-destructive',\n 'text-destructive-foreground',\n 'text-info',\n 'text-info-foreground',\n 'focus:ring-ring',\n 'focus:ring-primary',\n 'focus:border-transparent',\n 'focus:ring-destructive',\n 'border-primary',\n 'border-destructive',\n 'ring-primary',\n 'ring-2',\n 'ring-offset-2',\n // Grid classes for QuickAction and responsive layouts\n 'grid-cols-1',\n 'grid-cols-2',\n 'grid-cols-3',\n 'grid-cols-4',\n 'grid-cols-6',\n 'sm:grid-cols-1',\n 'sm:grid-cols-2',\n 'sm:grid-cols-3',\n 'sm:grid-cols-4',\n 'sm:grid-cols-6',\n 'md:grid-cols-2',\n 'md:grid-cols-3',\n 'md:grid-cols-4',\n 'lg:grid-cols-2',\n 'lg:grid-cols-3',\n 'lg:grid-cols-4',\n // Switch component\n 'bg-neutral-200',\n 'dark:bg-neutral-700',\n 'bg-primary-500',\n 'h-5',\n 'w-9',\n 'h-6',\n 'w-11',\n 'h-7',\n 'w-14',\n 'h-4',\n 'w-4',\n 'w-5',\n 'w-6',\n 'translate-x-0.5',\n 'translate-x-4',\n 'translate-x-5',\n 'translate-x-7',\n // SchedulePicker / overflow handling\n 'overflow-x-auto',\n 'overflow-hidden',\n // Select component\n 'truncate',\n];\n\nexport interface MiewebUIPreset {\n darkMode: ['class', '[data-theme=\"dark\"]'];\n safelist: string[];\n theme: {\n extend: Record<string, unknown>;\n };\n}\n\nexport const miewebUIPreset: MiewebUIPreset = {\n darkMode: ['class', '[data-theme=\"dark\"]'],\n safelist: miewebUISafelist,\n theme: {\n extend: {\n colors: {\n // Primary color scale - easily overridable by consumers\n primary: {\n DEFAULT: 'var(--mieweb-primary, var(--mieweb-primary-500, #27aae1))',\n 50: 'var(--mieweb-primary-50, #f0f9ff)',\n 100: 'var(--mieweb-primary-100, #e0f4fe)',\n 200: 'var(--mieweb-primary-200, #b9eafd)',\n 300: 'var(--mieweb-primary-300, #7cdbfc)',\n 400: 'var(--mieweb-primary-400, #36c9f8)',\n 500: 'var(--mieweb-primary-500, #27aae1)',\n 600: 'var(--mieweb-primary-600, #0c90c9)',\n 700: 'var(--mieweb-primary-700, #0b73a3)',\n 800: 'var(--mieweb-primary-800, #0f6086)',\n 900: 'var(--mieweb-primary-900, #124f6f)',\n 950: 'var(--mieweb-primary-950, #0c334a)',\n foreground: 'var(--mieweb-primary-foreground, hsl(210 40% 98%))',\n },\n // Semantic colors using CSS variables for theming\n border: 'var(--mieweb-border, hsl(214.3 31.8% 91.4%))',\n input: 'var(--mieweb-input, hsl(214.3 31.8% 91.4%))',\n ring: 'var(--mieweb-ring, hsl(221.2 83.2% 53.3%))',\n background: 'var(--mieweb-background, hsl(0 0% 100%))',\n foreground: 'var(--mieweb-foreground, hsl(222.2 84% 4.9%))',\n // Component-specific semantic colors\n card: {\n DEFAULT: 'var(--mieweb-card, hsl(0 0% 100%))',\n foreground: 'var(--mieweb-card-foreground, hsl(222.2 84% 4.9%))',\n },\n muted: {\n DEFAULT: 'var(--mieweb-muted, hsl(210 40% 96.1%))',\n foreground: 'var(--mieweb-muted-foreground, hsl(215.4 16.3% 46.9%))',\n },\n destructive: {\n DEFAULT: 'var(--mieweb-destructive, hsl(0 84.2% 60.2%))',\n foreground: 'var(--mieweb-destructive-foreground, hsl(210 40% 98%))',\n },\n success: {\n DEFAULT: 'var(--mieweb-success, hsl(142.1 76.2% 36.3%))',\n foreground: 'var(--mieweb-success-foreground, hsl(355.7 100% 97.3%))',\n },\n warning: {\n DEFAULT: 'var(--mieweb-warning, hsl(45.4 93.4% 47.5%))',\n foreground: 'var(--mieweb-warning-foreground, hsl(26 83.3% 14.1%))',\n },\n info: {\n DEFAULT: 'var(--mieweb-info, hsl(204 94% 94%))',\n foreground: 'var(--mieweb-info-foreground, hsl(213 31% 91%))',\n },\n },\n fontFamily: {\n sans: [\n 'var(--mieweb-font-sans, ui-sans-serif)',\n 'system-ui',\n 'sans-serif',\n ],\n },\n borderRadius: {\n '2xl': 'var(--mieweb-radius-2xl, 1rem)',\n lg: 'var(--mieweb-radius-lg, 0.75rem)',\n md: 'var(--mieweb-radius-md, 0.5rem)',\n sm: 'var(--mieweb-radius-sm, 0.25rem)',\n xl: 'var(--mieweb-radius-xl, 1rem)',\n },\n boxShadow: {\n card: 'var(--mieweb-shadow-card, 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1))',\n },\n keyframes: {\n 'fade-in': {\n '0%': { opacity: '0' },\n '100%': { opacity: '1' },\n },\n 'fade-out': {\n '0%': { opacity: '1' },\n '100%': { opacity: '0' },\n },\n 'slide-in-from-top': {\n '0%': { transform: 'translateY(-0.5rem)', opacity: '0' },\n '100%': { transform: 'translateY(0)', opacity: '1' },\n },\n 'slide-in-from-bottom': {\n '0%': { transform: 'translateY(0.5rem)', opacity: '0' },\n '100%': { transform: 'translateY(0)', opacity: '1' },\n },\n 'slide-in-right': {\n '0%': { transform: 'translateX(100%)', opacity: '0' },\n '100%': { transform: 'translateX(0)', opacity: '1' },\n },\n 'slide-in-left': {\n '0%': { transform: 'translateX(-100%)', opacity: '0' },\n '100%': { transform: 'translateX(0)', opacity: '1' },\n },\n 'scale-in': {\n '0%': { transform: 'scale(0.95)', opacity: '0' },\n '100%': { transform: 'scale(1)', opacity: '1' },\n },\n },\n animation: {\n 'fade-in': 'fade-in 150ms ease-out',\n 'fade-out': 'fade-out 150ms ease-in',\n 'slide-in-from-top': 'slide-in-from-top 150ms ease-out',\n 'slide-in-from-bottom': 'slide-in-from-bottom 150ms ease-out',\n 'slide-in-right': 'slide-in-right 300ms ease-out',\n 'slide-in-left': 'slide-in-left 300ms ease-out',\n 'scale-in': 'scale-in 150ms ease-out',\n },\n },\n },\n};\n\nexport default miewebUIPreset;\n"]}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
// src/utils/date.ts
|
|
2
|
+
function formatDateValue(value) {
|
|
3
|
+
const digits = value.replace(/\D/g, "").slice(0, 8);
|
|
4
|
+
if (digits.length === 0) return "";
|
|
5
|
+
if (digits.length <= 2) return digits;
|
|
6
|
+
if (digits.length <= 4) return `${digits.slice(0, 2)}/${digits.slice(2)}`;
|
|
7
|
+
return `${digits.slice(0, 2)}/${digits.slice(2, 4)}/${digits.slice(4)}`;
|
|
8
|
+
}
|
|
9
|
+
function parseDateValue(value) {
|
|
10
|
+
const digits = value.replace(/\D/g, "");
|
|
11
|
+
if (digits.length !== 8) return null;
|
|
12
|
+
const month = parseInt(digits.slice(0, 2), 10);
|
|
13
|
+
const day = parseInt(digits.slice(2, 4), 10);
|
|
14
|
+
const year = parseInt(digits.slice(4, 8), 10);
|
|
15
|
+
if (month < 1 || month > 12) return null;
|
|
16
|
+
if (day < 1 || day > 31) return null;
|
|
17
|
+
if (year < 1900 || year > 2100) return null;
|
|
18
|
+
const date = new Date(year, month - 1, day);
|
|
19
|
+
if (date.getMonth() !== month - 1 || date.getDate() !== day || date.getFullYear() !== year) {
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
return date;
|
|
23
|
+
}
|
|
24
|
+
function isValidDate(value) {
|
|
25
|
+
return parseDateValue(value) !== null;
|
|
26
|
+
}
|
|
27
|
+
function isDateEmpty(value) {
|
|
28
|
+
return value.replace(/\D/g, "").length === 0;
|
|
29
|
+
}
|
|
30
|
+
function calculateAge(dob) {
|
|
31
|
+
const birthDate = parseDateValue(dob);
|
|
32
|
+
if (!birthDate) return null;
|
|
33
|
+
const today = /* @__PURE__ */ new Date();
|
|
34
|
+
let age = today.getFullYear() - birthDate.getFullYear();
|
|
35
|
+
const monthDiff = today.getMonth() - birthDate.getMonth();
|
|
36
|
+
if (monthDiff < 0 || monthDiff === 0 && today.getDate() < birthDate.getDate()) {
|
|
37
|
+
age--;
|
|
38
|
+
}
|
|
39
|
+
return age;
|
|
40
|
+
}
|
|
41
|
+
function isValidDrivingAge(dob) {
|
|
42
|
+
const age = calculateAge(dob);
|
|
43
|
+
return age !== null && age >= 16;
|
|
44
|
+
}
|
|
45
|
+
function isDateInPast(value) {
|
|
46
|
+
const date = parseDateValue(value);
|
|
47
|
+
if (!date) return false;
|
|
48
|
+
return date < /* @__PURE__ */ new Date();
|
|
49
|
+
}
|
|
50
|
+
function isDateInFuture(value) {
|
|
51
|
+
const date = parseDateValue(value);
|
|
52
|
+
if (!date) return false;
|
|
53
|
+
return date > /* @__PURE__ */ new Date();
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export { calculateAge, formatDateValue, isDateEmpty, isDateInFuture, isDateInPast, isValidDate, isValidDrivingAge, parseDateValue };
|
|
57
|
+
//# sourceMappingURL=chunk-SN52QMRT.js.map
|
|
58
|
+
//# sourceMappingURL=chunk-SN52QMRT.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/utils/date.ts"],"names":[],"mappings":"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","file":"chunk-SN52QMRT.js","sourcesContent":["/**\n * Date formatting and validation utilities\n */\n\n/**\n * Formats a date string to MM/DD/YYYY format\n */\nexport function formatDateValue(value: string): string {\n const digits = value.replace(/\\D/g, '').slice(0, 8);\n if (digits.length === 0) return '';\n if (digits.length <= 2) return digits;\n if (digits.length <= 4) return `${digits.slice(0, 2)}/${digits.slice(2)}`;\n return `${digits.slice(0, 2)}/${digits.slice(2, 4)}/${digits.slice(4)}`;\n}\n\n/**\n * Parses a date string (MM/DD/YYYY) to a Date object\n * Returns null if the date is invalid\n */\nexport function parseDateValue(value: string): Date | null {\n const digits = value.replace(/\\D/g, '');\n if (digits.length !== 8) return null;\n\n const month = parseInt(digits.slice(0, 2), 10);\n const day = parseInt(digits.slice(2, 4), 10);\n const year = parseInt(digits.slice(4, 8), 10);\n\n if (month < 1 || month > 12) return null;\n if (day < 1 || day > 31) return null;\n if (year < 1900 || year > 2100) return null;\n\n const date = new Date(year, month - 1, day);\n\n // Verify the date is valid (handles edge cases like Feb 30)\n if (\n date.getMonth() !== month - 1 ||\n date.getDate() !== day ||\n date.getFullYear() !== year\n ) {\n return null;\n }\n\n return date;\n}\n\n/**\n * Validates if a date string is a valid date\n */\nexport function isValidDate(value: string): boolean {\n return parseDateValue(value) !== null;\n}\n\n/**\n * Checks if a date string is empty\n */\nexport function isDateEmpty(value: string): boolean {\n return value.replace(/\\D/g, '').length === 0;\n}\n\n/**\n * Calculates age from a date of birth string (MM/DD/YYYY)\n * Returns null if the date is invalid\n */\nexport function calculateAge(dob: string): number | null {\n const birthDate = parseDateValue(dob);\n if (!birthDate) return null;\n\n const today = new Date();\n let age = today.getFullYear() - birthDate.getFullYear();\n const monthDiff = today.getMonth() - birthDate.getMonth();\n\n if (\n monthDiff < 0 ||\n (monthDiff === 0 && today.getDate() < birthDate.getDate())\n ) {\n age--;\n }\n\n return age;\n}\n\n/**\n * Checks if a date of birth represents a valid driving age (16+)\n */\nexport function isValidDrivingAge(dob: string): boolean {\n const age = calculateAge(dob);\n return age !== null && age >= 16;\n}\n\n/**\n * Checks if a date is in the past\n */\nexport function isDateInPast(value: string): boolean {\n const date = parseDateValue(value);\n if (!date) return false;\n return date < new Date();\n}\n\n/**\n * Checks if a date is in the future\n */\nexport function isDateInFuture(value: string): boolean {\n const date = parseDateValue(value);\n if (!date) return false;\n return date > new Date();\n}\n"]}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
// src/brands/types.ts
|
|
2
|
+
function generateBrandCSS(brand) {
|
|
3
|
+
const { colors, typography, borderRadius, boxShadow } = brand;
|
|
4
|
+
return `/**
|
|
5
|
+
* ${brand.displayName} Brand Theme
|
|
6
|
+
* Generated by @mieweb/ui
|
|
7
|
+
* ${brand.description || ""}
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
/* ============================================
|
|
11
|
+
${brand.displayName} Design Tokens
|
|
12
|
+
============================================ */
|
|
13
|
+
|
|
14
|
+
:root {
|
|
15
|
+
/* Primary Color Scale */
|
|
16
|
+
--mieweb-primary-50: ${colors.primary[50]};
|
|
17
|
+
--mieweb-primary-100: ${colors.primary[100]};
|
|
18
|
+
--mieweb-primary-200: ${colors.primary[200]};
|
|
19
|
+
--mieweb-primary-300: ${colors.primary[300]};
|
|
20
|
+
--mieweb-primary-400: ${colors.primary[400]};
|
|
21
|
+
--mieweb-primary-500: ${colors.primary[500]};
|
|
22
|
+
--mieweb-primary-600: ${colors.primary[600]};
|
|
23
|
+
--mieweb-primary-700: ${colors.primary[700]};
|
|
24
|
+
--mieweb-primary-800: ${colors.primary[800]};
|
|
25
|
+
--mieweb-primary-900: ${colors.primary[900]};
|
|
26
|
+
--mieweb-primary-950: ${colors.primary[950]};
|
|
27
|
+
|
|
28
|
+
/* Light Mode Semantic Colors */
|
|
29
|
+
--mieweb-background: ${colors.light.background};
|
|
30
|
+
--mieweb-foreground: ${colors.light.foreground};
|
|
31
|
+
--mieweb-card: ${colors.light.card};
|
|
32
|
+
--mieweb-card-foreground: ${colors.light.cardForeground};
|
|
33
|
+
--mieweb-muted: ${colors.light.muted};
|
|
34
|
+
--mieweb-muted-foreground: ${colors.light.mutedForeground};
|
|
35
|
+
--mieweb-border: ${colors.light.border};
|
|
36
|
+
--mieweb-input: ${colors.light.input};
|
|
37
|
+
--mieweb-ring: ${colors.light.ring};
|
|
38
|
+
--mieweb-destructive: ${colors.light.destructive};
|
|
39
|
+
--mieweb-destructive-foreground: ${colors.light.destructiveForeground};
|
|
40
|
+
--mieweb-success: ${colors.light.success};
|
|
41
|
+
--mieweb-success-foreground: ${colors.light.successForeground};
|
|
42
|
+
--mieweb-warning: ${colors.light.warning};
|
|
43
|
+
--mieweb-warning-foreground: ${colors.light.warningForeground};
|
|
44
|
+
|
|
45
|
+
/* Typography */
|
|
46
|
+
--mieweb-font-sans: ${typography.fontFamily.sans.map((f) => f.includes(" ") ? `"${f}"` : f).join(", ")};
|
|
47
|
+
${typography.fontFamily.mono ? `--mieweb-font-mono: ${typography.fontFamily.mono.map((f) => f.includes(" ") ? `"${f}"` : f).join(", ")};` : ""}
|
|
48
|
+
|
|
49
|
+
/* Border Radius */
|
|
50
|
+
--mieweb-radius-none: ${borderRadius.none};
|
|
51
|
+
--mieweb-radius-sm: ${borderRadius.sm};
|
|
52
|
+
--mieweb-radius-md: ${borderRadius.md};
|
|
53
|
+
--mieweb-radius-lg: ${borderRadius.lg};
|
|
54
|
+
--mieweb-radius-xl: ${borderRadius.xl};
|
|
55
|
+
--mieweb-radius-2xl: ${borderRadius["2xl"]};
|
|
56
|
+
--mieweb-radius-full: ${borderRadius.full};
|
|
57
|
+
|
|
58
|
+
/* Shadows */
|
|
59
|
+
--mieweb-shadow-card: ${boxShadow.card};
|
|
60
|
+
--mieweb-shadow-dropdown: ${boxShadow.dropdown};
|
|
61
|
+
--mieweb-shadow-modal: ${boxShadow.modal};
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/* Dark Mode */
|
|
65
|
+
[data-theme="dark"],
|
|
66
|
+
.dark {
|
|
67
|
+
--mieweb-background: ${colors.dark.background};
|
|
68
|
+
--mieweb-foreground: ${colors.dark.foreground};
|
|
69
|
+
--mieweb-card: ${colors.dark.card};
|
|
70
|
+
--mieweb-card-foreground: ${colors.dark.cardForeground};
|
|
71
|
+
--mieweb-muted: ${colors.dark.muted};
|
|
72
|
+
--mieweb-muted-foreground: ${colors.dark.mutedForeground};
|
|
73
|
+
--mieweb-border: ${colors.dark.border};
|
|
74
|
+
--mieweb-input: ${colors.dark.input};
|
|
75
|
+
--mieweb-ring: ${colors.dark.ring};
|
|
76
|
+
--mieweb-destructive: ${colors.dark.destructive};
|
|
77
|
+
--mieweb-destructive-foreground: ${colors.dark.destructiveForeground};
|
|
78
|
+
--mieweb-success: ${colors.dark.success};
|
|
79
|
+
--mieweb-success-foreground: ${colors.dark.successForeground};
|
|
80
|
+
--mieweb-warning: ${colors.dark.warning};
|
|
81
|
+
--mieweb-warning-foreground: ${colors.dark.warningForeground};
|
|
82
|
+
}
|
|
83
|
+
`;
|
|
84
|
+
}
|
|
85
|
+
function generateTailwindTheme(brand) {
|
|
86
|
+
const { colors, typography, borderRadius, boxShadow } = brand;
|
|
87
|
+
return {
|
|
88
|
+
colors: {
|
|
89
|
+
primary: colors.primary,
|
|
90
|
+
// Expose brand colors under the brand name for semantic usage
|
|
91
|
+
[brand.name]: colors.primary
|
|
92
|
+
},
|
|
93
|
+
fontFamily: {
|
|
94
|
+
sans: typography.fontFamily.sans,
|
|
95
|
+
...typography.fontFamily.mono ? { mono: typography.fontFamily.mono } : {}
|
|
96
|
+
},
|
|
97
|
+
borderRadius: {
|
|
98
|
+
none: borderRadius.none,
|
|
99
|
+
sm: borderRadius.sm,
|
|
100
|
+
md: borderRadius.md,
|
|
101
|
+
lg: borderRadius.lg,
|
|
102
|
+
xl: borderRadius.xl,
|
|
103
|
+
"2xl": borderRadius["2xl"],
|
|
104
|
+
full: borderRadius.full
|
|
105
|
+
},
|
|
106
|
+
boxShadow: {
|
|
107
|
+
card: boxShadow.card,
|
|
108
|
+
dropdown: boxShadow.dropdown,
|
|
109
|
+
modal: boxShadow.modal
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
function createBrandPreset(brand) {
|
|
114
|
+
return {
|
|
115
|
+
darkMode: ["class", '[data-theme="dark"]'],
|
|
116
|
+
theme: {
|
|
117
|
+
extend: generateTailwindTheme(brand)
|
|
118
|
+
}
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
export { createBrandPreset, generateBrandCSS, generateTailwindTheme };
|
|
123
|
+
//# sourceMappingURL=chunk-SOFX4T7M.js.map
|
|
124
|
+
//# sourceMappingURL=chunk-SOFX4T7M.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/brands/types.ts"],"names":[],"mappings":"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","file":"chunk-SOFX4T7M.js","sourcesContent":["/**\n * @mieweb/ui Brand System Types\n *\n * This module provides type definitions and utilities for brand themes.\n * Brands define colors, typography, spacing, and other design tokens that\n * can be applied to @mieweb/ui components.\n */\n\n// ============================================================================\n// Type Definitions\n// ============================================================================\n\n/**\n * Primary color scale (50-950) following Tailwind conventions.\n */\nexport interface ColorScale {\n 50: string;\n 100: string;\n 200: string;\n 300: string;\n 400: string;\n 500: string;\n 600: string;\n 700: string;\n 800: string;\n 900: string;\n 950: string;\n}\n\n/**\n * Semantic colors for a specific color mode (light or dark).\n */\nexport interface SemanticColors {\n /** Page background color */\n background: string;\n /** Primary text color */\n foreground: string;\n /** Card/panel background */\n card: string;\n /** Card text color */\n cardForeground: string;\n /** Muted/subtle background */\n muted: string;\n /** Muted/secondary text */\n mutedForeground: string;\n /** Border color */\n border: string;\n /** Input border color */\n input: string;\n /** Focus ring color */\n ring: string;\n /** Destructive/error color */\n destructive: string;\n /** Text on destructive backgrounds */\n destructiveForeground: string;\n /** Success color */\n success: string;\n /** Text on success backgrounds */\n successForeground: string;\n /** Warning color */\n warning: string;\n /** Text on warning backgrounds */\n warningForeground: string;\n}\n\n/**\n * Complete color configuration for a brand.\n */\nexport interface BrandColors {\n /** Primary brand color scale */\n primary: ColorScale;\n /** Light mode semantic colors */\n light: SemanticColors;\n /** Dark mode semantic colors */\n dark: SemanticColors;\n}\n\n/**\n * Typography configuration for a brand.\n */\nexport interface BrandTypography {\n /** Font family stack for body text */\n fontFamily: {\n sans: string[];\n mono?: string[];\n };\n /** Base font size (usually 16px) */\n baseFontSize?: string;\n}\n\n/**\n * Border radius configuration.\n */\nexport interface BrandBorderRadius {\n none: string;\n sm: string;\n md: string;\n lg: string;\n xl: string;\n '2xl': string;\n full: string;\n}\n\n/**\n * Box shadow configuration.\n */\nexport interface BrandBoxShadow {\n card: string;\n dropdown: string;\n modal: string;\n}\n\n/**\n * Complete brand configuration.\n */\nexport interface BrandConfig {\n /** Unique identifier (lowercase, no spaces) */\n name: string;\n /** Human-readable display name */\n displayName: string;\n /** Brand description */\n description?: string;\n /** Color configuration */\n colors: BrandColors;\n /** Typography settings */\n typography: BrandTypography;\n /** Border radius scale */\n borderRadius: BrandBorderRadius;\n /** Box shadow definitions */\n boxShadow: BrandBoxShadow;\n}\n\n// ============================================================================\n// CSS Generation\n// ============================================================================\n\n/**\n * Generate CSS custom properties from a brand configuration.\n * This creates a standalone CSS file that can be imported into any project.\n */\nexport function generateBrandCSS(brand: BrandConfig): string {\n const { colors, typography, borderRadius, boxShadow } = brand;\n\n return `/**\n * ${brand.displayName} Brand Theme\n * Generated by @mieweb/ui\n * ${brand.description || ''}\n */\n\n/* ============================================\n ${brand.displayName} Design Tokens\n ============================================ */\n\n:root {\n /* Primary Color Scale */\n --mieweb-primary-50: ${colors.primary[50]};\n --mieweb-primary-100: ${colors.primary[100]};\n --mieweb-primary-200: ${colors.primary[200]};\n --mieweb-primary-300: ${colors.primary[300]};\n --mieweb-primary-400: ${colors.primary[400]};\n --mieweb-primary-500: ${colors.primary[500]};\n --mieweb-primary-600: ${colors.primary[600]};\n --mieweb-primary-700: ${colors.primary[700]};\n --mieweb-primary-800: ${colors.primary[800]};\n --mieweb-primary-900: ${colors.primary[900]};\n --mieweb-primary-950: ${colors.primary[950]};\n\n /* Light Mode Semantic Colors */\n --mieweb-background: ${colors.light.background};\n --mieweb-foreground: ${colors.light.foreground};\n --mieweb-card: ${colors.light.card};\n --mieweb-card-foreground: ${colors.light.cardForeground};\n --mieweb-muted: ${colors.light.muted};\n --mieweb-muted-foreground: ${colors.light.mutedForeground};\n --mieweb-border: ${colors.light.border};\n --mieweb-input: ${colors.light.input};\n --mieweb-ring: ${colors.light.ring};\n --mieweb-destructive: ${colors.light.destructive};\n --mieweb-destructive-foreground: ${colors.light.destructiveForeground};\n --mieweb-success: ${colors.light.success};\n --mieweb-success-foreground: ${colors.light.successForeground};\n --mieweb-warning: ${colors.light.warning};\n --mieweb-warning-foreground: ${colors.light.warningForeground};\n\n /* Typography */\n --mieweb-font-sans: ${typography.fontFamily.sans.map((f) => (f.includes(' ') ? `\"${f}\"` : f)).join(', ')};\n ${typography.fontFamily.mono ? `--mieweb-font-mono: ${typography.fontFamily.mono.map((f) => (f.includes(' ') ? `\"${f}\"` : f)).join(', ')};` : ''}\n\n /* Border Radius */\n --mieweb-radius-none: ${borderRadius.none};\n --mieweb-radius-sm: ${borderRadius.sm};\n --mieweb-radius-md: ${borderRadius.md};\n --mieweb-radius-lg: ${borderRadius.lg};\n --mieweb-radius-xl: ${borderRadius.xl};\n --mieweb-radius-2xl: ${borderRadius['2xl']};\n --mieweb-radius-full: ${borderRadius.full};\n\n /* Shadows */\n --mieweb-shadow-card: ${boxShadow.card};\n --mieweb-shadow-dropdown: ${boxShadow.dropdown};\n --mieweb-shadow-modal: ${boxShadow.modal};\n}\n\n/* Dark Mode */\n[data-theme=\"dark\"],\n.dark {\n --mieweb-background: ${colors.dark.background};\n --mieweb-foreground: ${colors.dark.foreground};\n --mieweb-card: ${colors.dark.card};\n --mieweb-card-foreground: ${colors.dark.cardForeground};\n --mieweb-muted: ${colors.dark.muted};\n --mieweb-muted-foreground: ${colors.dark.mutedForeground};\n --mieweb-border: ${colors.dark.border};\n --mieweb-input: ${colors.dark.input};\n --mieweb-ring: ${colors.dark.ring};\n --mieweb-destructive: ${colors.dark.destructive};\n --mieweb-destructive-foreground: ${colors.dark.destructiveForeground};\n --mieweb-success: ${colors.dark.success};\n --mieweb-success-foreground: ${colors.dark.successForeground};\n --mieweb-warning: ${colors.dark.warning};\n --mieweb-warning-foreground: ${colors.dark.warningForeground};\n}\n`;\n}\n\n// ============================================================================\n// Tailwind Theme Generation\n// ============================================================================\n\n/**\n * Generate Tailwind CSS theme configuration from a brand.\n * Use this in your tailwind.config.js to apply the brand.\n */\nexport function generateTailwindTheme(brand: BrandConfig) {\n const { colors, typography, borderRadius, boxShadow } = brand;\n\n return {\n colors: {\n primary: colors.primary,\n // Expose brand colors under the brand name for semantic usage\n [brand.name]: colors.primary,\n },\n fontFamily: {\n sans: typography.fontFamily.sans,\n ...(typography.fontFamily.mono\n ? { mono: typography.fontFamily.mono }\n : {}),\n },\n borderRadius: {\n none: borderRadius.none,\n sm: borderRadius.sm,\n md: borderRadius.md,\n lg: borderRadius.lg,\n xl: borderRadius.xl,\n '2xl': borderRadius['2xl'],\n full: borderRadius.full,\n },\n boxShadow: {\n card: boxShadow.card,\n dropdown: boxShadow.dropdown,\n modal: boxShadow.modal,\n },\n };\n}\n\n/**\n * Generate a complete Tailwind preset for a brand.\n * This includes the mieweb/ui base preset plus brand-specific overrides.\n */\nexport function createBrandPreset(brand: BrandConfig) {\n return {\n darkMode: ['class', '[data-theme=\"dark\"]'] as const,\n theme: {\n extend: generateTailwindTheme(brand),\n },\n };\n}\n"]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var react = require('react');
|
|
4
|
+
|
|
5
|
+
// src/hooks/useClickOutside.ts
|
|
6
|
+
function useClickOutside(ref, callback) {
|
|
7
|
+
react.useEffect(() => {
|
|
8
|
+
const handleClick = (event) => {
|
|
9
|
+
if (ref.current && !ref.current.contains(event.target)) {
|
|
10
|
+
callback();
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
document.addEventListener("mousedown", handleClick);
|
|
14
|
+
document.addEventListener("touchstart", handleClick);
|
|
15
|
+
return () => {
|
|
16
|
+
document.removeEventListener("mousedown", handleClick);
|
|
17
|
+
document.removeEventListener("touchstart", handleClick);
|
|
18
|
+
};
|
|
19
|
+
}, [ref, callback]);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
exports.useClickOutside = useClickOutside;
|
|
23
|
+
//# sourceMappingURL=chunk-SWMRCGL4.cjs.map
|
|
24
|
+
//# sourceMappingURL=chunk-SWMRCGL4.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/hooks/useClickOutside.ts"],"names":["useEffect"],"mappings":";;;;;AAuBO,SAAS,eAAA,CACd,KACA,QAAA,EACM;AACN,EAAAA,eAAA,CAAU,MAAM;AACd,IAAA,MAAM,WAAA,GAAc,CAAC,KAAA,KAAiB;AACpC,MAAA,IACE,GAAA,CAAI,WACJ,CAAC,GAAA,CAAI,QAAQ,QAAA,CAAS,KAAA,CAAM,MAAyB,CAAA,EACrD;AACA,QAAA,QAAA,EAAS;AAAA,MACX;AAAA,IACF,CAAA;AAEA,IAAA,QAAA,CAAS,gBAAA,CAAiB,aAAa,WAAW,CAAA;AAClD,IAAA,QAAA,CAAS,gBAAA,CAAiB,cAAc,WAAW,CAAA;AAEnD,IAAA,OAAO,MAAM;AACX,MAAA,QAAA,CAAS,mBAAA,CAAoB,aAAa,WAAW,CAAA;AACrD,MAAA,QAAA,CAAS,mBAAA,CAAoB,cAAc,WAAW,CAAA;AAAA,IACxD,CAAA;AAAA,EACF,CAAA,EAAG,CAAC,GAAA,EAAK,QAAQ,CAAC,CAAA;AACpB","file":"chunk-SWMRCGL4.cjs","sourcesContent":["import { useEffect, type RefObject } from 'react';\n\n/**\n * Hook that detects clicks outside of a specified element.\n * Useful for closing dropdowns, modals, and other overlays.\n *\n * @example\n * ```tsx\n * function Dropdown() {\n * const [isOpen, setIsOpen] = useState(false);\n * const ref = useRef<HTMLDivElement>(null);\n *\n * useClickOutside(ref, () => setIsOpen(false));\n *\n * return (\n * <div ref={ref}>\n * <button onClick={() => setIsOpen(!isOpen)}>Toggle</button>\n * {isOpen && <div>Dropdown content</div>}\n * </div>\n * );\n * }\n * ```\n */\nexport function useClickOutside<T extends HTMLElement>(\n ref: RefObject<T | null>,\n callback: () => void\n): void {\n useEffect(() => {\n const handleClick = (event: Event) => {\n if (\n ref.current &&\n !ref.current.contains(event.target as globalThis.Node)\n ) {\n callback();\n }\n };\n\n document.addEventListener('mousedown', handleClick);\n document.addEventListener('touchstart', handleClick);\n\n return () => {\n document.removeEventListener('mousedown', handleClick);\n document.removeEventListener('touchstart', handleClick);\n };\n }, [ref, callback]);\n}\n"]}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
// src/brands/waggleline.ts
|
|
4
|
+
var wagglelineBrand = {
|
|
5
|
+
name: "waggleline",
|
|
6
|
+
displayName: "Waggleline",
|
|
7
|
+
description: "Experience visualization and orchestration platform for customer journeys",
|
|
8
|
+
colors: {
|
|
9
|
+
// Primary color scale - Waggleline Blue (#17AEED)
|
|
10
|
+
primary: {
|
|
11
|
+
50: "#E6F7FF",
|
|
12
|
+
100: "#BAE7FF",
|
|
13
|
+
200: "#91D5FF",
|
|
14
|
+
300: "#69C0FF",
|
|
15
|
+
400: "#40A9FF",
|
|
16
|
+
500: "#17AEED",
|
|
17
|
+
600: "#00A4EB",
|
|
18
|
+
700: "#0084C8",
|
|
19
|
+
800: "#006AA5",
|
|
20
|
+
900: "#004D7A",
|
|
21
|
+
950: "#003355"
|
|
22
|
+
},
|
|
23
|
+
// Light mode semantic colors
|
|
24
|
+
light: {
|
|
25
|
+
background: "#fafafa",
|
|
26
|
+
// gray-50 equivalent
|
|
27
|
+
foreground: "#1a1a1a",
|
|
28
|
+
card: "#ffffff",
|
|
29
|
+
cardForeground: "#1a1a1a",
|
|
30
|
+
muted: "#f5f5f5",
|
|
31
|
+
mutedForeground: "#6b7280",
|
|
32
|
+
border: "#e5e7eb",
|
|
33
|
+
input: "#e5e7eb",
|
|
34
|
+
ring: "#17AEED",
|
|
35
|
+
destructive: "#ef4444",
|
|
36
|
+
destructiveForeground: "#ffffff",
|
|
37
|
+
success: "#009C4E",
|
|
38
|
+
// Brand green
|
|
39
|
+
successForeground: "#ffffff",
|
|
40
|
+
warning: "#FFD200",
|
|
41
|
+
// Brand yellow
|
|
42
|
+
warningForeground: "#1a1a1a"
|
|
43
|
+
},
|
|
44
|
+
// Dark mode semantic colors (charcoal-based, not pure black)
|
|
45
|
+
dark: {
|
|
46
|
+
background: "#1F2937",
|
|
47
|
+
// panel.DEFAULT - charcoal
|
|
48
|
+
foreground: "#f9fafb",
|
|
49
|
+
card: "#2D3748",
|
|
50
|
+
// panel.card
|
|
51
|
+
cardForeground: "#f9fafb",
|
|
52
|
+
muted: "#374151",
|
|
53
|
+
// panel.elevated
|
|
54
|
+
mutedForeground: "#9ca3af",
|
|
55
|
+
border: "#374151",
|
|
56
|
+
input: "#374151",
|
|
57
|
+
ring: "#17AEED",
|
|
58
|
+
destructive: "#dc2626",
|
|
59
|
+
destructiveForeground: "#f9fafb",
|
|
60
|
+
success: "#009C4E",
|
|
61
|
+
// Brand green
|
|
62
|
+
successForeground: "#f9fafb",
|
|
63
|
+
warning: "#FFD200",
|
|
64
|
+
// Brand yellow
|
|
65
|
+
warningForeground: "#1a1a1a"
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
typography: {
|
|
69
|
+
fontFamily: {
|
|
70
|
+
sans: ["Inter", "ui-sans-serif", "system-ui", "sans-serif"],
|
|
71
|
+
mono: ["ui-monospace", "SFMono-Regular", "Menlo", "monospace"]
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
borderRadius: {
|
|
75
|
+
none: "0",
|
|
76
|
+
sm: "0.25rem",
|
|
77
|
+
md: "0.5rem",
|
|
78
|
+
lg: "0.75rem",
|
|
79
|
+
xl: "1rem",
|
|
80
|
+
"2xl": "1.5rem",
|
|
81
|
+
full: "9999px"
|
|
82
|
+
},
|
|
83
|
+
boxShadow: {
|
|
84
|
+
card: "0 2px 8px -2px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.06)",
|
|
85
|
+
// soft
|
|
86
|
+
dropdown: "0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)",
|
|
87
|
+
modal: "0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.08)"
|
|
88
|
+
// soft-lg
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
exports.wagglelineBrand = wagglelineBrand;
|
|
93
|
+
//# sourceMappingURL=chunk-SWV5E75F.cjs.map
|
|
94
|
+
//# sourceMappingURL=chunk-SWV5E75F.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/brands/waggleline.ts"],"names":[],"mappings":";;;AA2BO,IAAM,eAAA,GAA+B;AAAA,EAC1C,IAAA,EAAM,YAAA;AAAA,EACN,WAAA,EAAa,YAAA;AAAA,EACb,WAAA,EACE,2EAAA;AAAA,EAEF,MAAA,EAAQ;AAAA;AAAA,IAEN,OAAA,EAAS;AAAA,MACP,EAAA,EAAI,SAAA;AAAA,MACJ,GAAA,EAAK,SAAA;AAAA,MACL,GAAA,EAAK,SAAA;AAAA,MACL,GAAA,EAAK,SAAA;AAAA,MACL,GAAA,EAAK,SAAA;AAAA,MACL,GAAA,EAAK,SAAA;AAAA,MACL,GAAA,EAAK,SAAA;AAAA,MACL,GAAA,EAAK,SAAA;AAAA,MACL,GAAA,EAAK,SAAA;AAAA,MACL,GAAA,EAAK,SAAA;AAAA,MACL,GAAA,EAAK;AAAA,KACP;AAAA;AAAA,IAGA,KAAA,EAAO;AAAA,MACL,UAAA,EAAY,SAAA;AAAA;AAAA,MACZ,UAAA,EAAY,SAAA;AAAA,MACZ,IAAA,EAAM,SAAA;AAAA,MACN,cAAA,EAAgB,SAAA;AAAA,MAChB,KAAA,EAAO,SAAA;AAAA,MACP,eAAA,EAAiB,SAAA;AAAA,MACjB,MAAA,EAAQ,SAAA;AAAA,MACR,KAAA,EAAO,SAAA;AAAA,MACP,IAAA,EAAM,SAAA;AAAA,MACN,WAAA,EAAa,SAAA;AAAA,MACb,qBAAA,EAAuB,SAAA;AAAA,MACvB,OAAA,EAAS,SAAA;AAAA;AAAA,MACT,iBAAA,EAAmB,SAAA;AAAA,MACnB,OAAA,EAAS,SAAA;AAAA;AAAA,MACT,iBAAA,EAAmB;AAAA,KACrB;AAAA;AAAA,IAGA,IAAA,EAAM;AAAA,MACJ,UAAA,EAAY,SAAA;AAAA;AAAA,MACZ,UAAA,EAAY,SAAA;AAAA,MACZ,IAAA,EAAM,SAAA;AAAA;AAAA,MACN,cAAA,EAAgB,SAAA;AAAA,MAChB,KAAA,EAAO,SAAA;AAAA;AAAA,MACP,eAAA,EAAiB,SAAA;AAAA,MACjB,MAAA,EAAQ,SAAA;AAAA,MACR,KAAA,EAAO,SAAA;AAAA,MACP,IAAA,EAAM,SAAA;AAAA,MACN,WAAA,EAAa,SAAA;AAAA,MACb,qBAAA,EAAuB,SAAA;AAAA,MACvB,OAAA,EAAS,SAAA;AAAA;AAAA,MACT,iBAAA,EAAmB,SAAA;AAAA,MACnB,OAAA,EAAS,SAAA;AAAA;AAAA,MACT,iBAAA,EAAmB;AAAA;AACrB,GACF;AAAA,EAEA,UAAA,EAAY;AAAA,IACV,UAAA,EAAY;AAAA,MACV,IAAA,EAAM,CAAC,OAAA,EAAS,eAAA,EAAiB,aAAa,YAAY,CAAA;AAAA,MAC1D,IAAA,EAAM,CAAC,cAAA,EAAgB,gBAAA,EAAkB,SAAS,WAAW;AAAA;AAC/D,GACF;AAAA,EAEA,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,GAAA;AAAA,IACN,EAAA,EAAI,SAAA;AAAA,IACJ,EAAA,EAAI,QAAA;AAAA,IACJ,EAAA,EAAI,SAAA;AAAA,IACJ,EAAA,EAAI,MAAA;AAAA,IACJ,KAAA,EAAO,QAAA;AAAA,IACP,IAAA,EAAM;AAAA,GACR;AAAA,EAEA,SAAA,EAAW;AAAA,IACT,IAAA,EAAM,uEAAA;AAAA;AAAA,IACN,QAAA,EACE,kEAAA;AAAA,IACF,KAAA,EACE;AAAA;AAAA;AAEN","file":"chunk-SWV5E75F.cjs","sourcesContent":["/**\n * Waggleline Brand Configuration\n *\n * The official brand theme for Waggleline.\n * Primary color: #17AEED (Waggleline Blue)\n *\n * Waggleline is an experience visualization and orchestration platform\n * that maps relationships, signals, handoffs, dependencies, and momentum\n * across the customer journey.\n *\n * Brand colors from MIE Brand Guide:\n * - Blue (#17AEED): Primary actions, momentum\n * - Green (#009C4E): MIE core platform, success, completions\n * - Orange (#E04501): WebChart workflow, urgency\n * - Yellow (#FFD200): Enterprise Health, readiness, highlights\n * - Purple (#8B5CF6): Ozwell AI, intelligence\n */\n\nimport type { BrandConfig } from './types';\n\n/**\n * Waggleline brand configuration.\n * This defines all the design tokens used in Waggleline applications.\n *\n * Note: Dark mode uses charcoal tones (gray-900 based), not pure black,\n * following Waggleline's design philosophy.\n */\nexport const wagglelineBrand: BrandConfig = {\n name: 'waggleline',\n displayName: 'Waggleline',\n description:\n 'Experience visualization and orchestration platform for customer journeys',\n\n colors: {\n // Primary color scale - Waggleline Blue (#17AEED)\n primary: {\n 50: '#E6F7FF',\n 100: '#BAE7FF',\n 200: '#91D5FF',\n 300: '#69C0FF',\n 400: '#40A9FF',\n 500: '#17AEED',\n 600: '#00A4EB',\n 700: '#0084C8',\n 800: '#006AA5',\n 900: '#004D7A',\n 950: '#003355',\n },\n\n // Light mode semantic colors\n light: {\n background: '#fafafa', // gray-50 equivalent\n foreground: '#1a1a1a',\n card: '#ffffff',\n cardForeground: '#1a1a1a',\n muted: '#f5f5f5',\n mutedForeground: '#6b7280',\n border: '#e5e7eb',\n input: '#e5e7eb',\n ring: '#17AEED',\n destructive: '#ef4444',\n destructiveForeground: '#ffffff',\n success: '#009C4E', // Brand green\n successForeground: '#ffffff',\n warning: '#FFD200', // Brand yellow\n warningForeground: '#1a1a1a',\n },\n\n // Dark mode semantic colors (charcoal-based, not pure black)\n dark: {\n background: '#1F2937', // panel.DEFAULT - charcoal\n foreground: '#f9fafb',\n card: '#2D3748', // panel.card\n cardForeground: '#f9fafb',\n muted: '#374151', // panel.elevated\n mutedForeground: '#9ca3af',\n border: '#374151',\n input: '#374151',\n ring: '#17AEED',\n destructive: '#dc2626',\n destructiveForeground: '#f9fafb',\n success: '#009C4E', // Brand green\n successForeground: '#f9fafb',\n warning: '#FFD200', // Brand yellow\n warningForeground: '#1a1a1a',\n },\n },\n\n typography: {\n fontFamily: {\n sans: ['Inter', 'ui-sans-serif', 'system-ui', 'sans-serif'],\n mono: ['ui-monospace', 'SFMono-Regular', 'Menlo', 'monospace'],\n },\n },\n\n borderRadius: {\n none: '0',\n sm: '0.25rem',\n md: '0.5rem',\n lg: '0.75rem',\n xl: '1rem',\n '2xl': '1.5rem',\n full: '9999px',\n },\n\n boxShadow: {\n card: '0 2px 8px -2px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.06)', // soft\n dropdown:\n '0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)',\n modal:\n '0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.08)', // soft-lg\n },\n};\n\nexport { wagglelineBrand as default };\n"]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { useCallback, useEffect } from 'react';
|
|
2
|
+
|
|
3
|
+
// src/hooks/useEscapeKey.ts
|
|
4
|
+
function useEscapeKey(callback, enabled = true) {
|
|
5
|
+
const handleKeyDown = useCallback(
|
|
6
|
+
(event) => {
|
|
7
|
+
if (event.key === "Escape") {
|
|
8
|
+
callback();
|
|
9
|
+
}
|
|
10
|
+
},
|
|
11
|
+
[callback]
|
|
12
|
+
);
|
|
13
|
+
useEffect(() => {
|
|
14
|
+
if (!enabled) return;
|
|
15
|
+
document.addEventListener("keydown", handleKeyDown);
|
|
16
|
+
return () => document.removeEventListener("keydown", handleKeyDown);
|
|
17
|
+
}, [handleKeyDown, enabled]);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export { useEscapeKey };
|
|
21
|
+
//# sourceMappingURL=chunk-T4ME7QCT.js.map
|
|
22
|
+
//# sourceMappingURL=chunk-T4ME7QCT.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/hooks/useEscapeKey.ts"],"names":[],"mappings":";;;AAiBO,SAAS,YAAA,CAAa,QAAA,EAAsB,OAAA,GAAU,IAAA,EAAY;AACvE,EAAA,MAAM,aAAA,GAAgB,WAAA;AAAA,IACpB,CAAC,KAAA,KAAoC;AACnC,MAAA,IAAI,KAAA,CAAM,QAAQ,QAAA,EAAU;AAC1B,QAAA,QAAA,EAAS;AAAA,MACX;AAAA,IACF,CAAA;AAAA,IACA,CAAC,QAAQ;AAAA,GACX;AAEA,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,CAAC,OAAA,EAAS;AAEd,IAAA,QAAA,CAAS,gBAAA,CAAiB,WAAW,aAAa,CAAA;AAClD,IAAA,OAAO,MAAM,QAAA,CAAS,mBAAA,CAAoB,SAAA,EAAW,aAAa,CAAA;AAAA,EACpE,CAAA,EAAG,CAAC,aAAA,EAAe,OAAO,CAAC,CAAA;AAC7B","file":"chunk-T4ME7QCT.js","sourcesContent":["import { useEffect, useCallback } from 'react';\n\n/**\n * Hook that triggers a callback when the Escape key is pressed.\n * Useful for closing modals, dropdowns, and other overlays.\n *\n * @param callback - Function to call when Escape is pressed\n * @param enabled - Whether the listener is active (default: true)\n *\n * @example\n * ```tsx\n * function Modal({ onClose }: { onClose: () => void }) {\n * useEscapeKey(onClose);\n * return <div>Modal content</div>;\n * }\n * ```\n */\nexport function useEscapeKey(callback: () => void, enabled = true): void {\n const handleKeyDown = useCallback(\n (event: globalThis.KeyboardEvent) => {\n if (event.key === 'Escape') {\n callback();\n }\n },\n [callback]\n );\n\n useEffect(() => {\n if (!enabled) return;\n\n document.addEventListener('keydown', handleKeyDown);\n return () => document.removeEventListener('keydown', handleKeyDown);\n }, [handleKeyDown, enabled]);\n}\n"]}
|