@omnifyjp/ui 1.0.2 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-TJMK2KBE.js → chunk-2BRCVWXR.js} +3 -3
- package/dist/chunk-2BRCVWXR.js.map +1 -0
- package/dist/{chunk-RQNZDWY3.js → chunk-33QLY6GI.js} +2 -2
- package/dist/chunk-33QLY6GI.js.map +1 -0
- package/dist/{chunk-NPL2R5LD.js → chunk-3V6NS4EQ.js} +5 -5
- package/dist/chunk-3V6NS4EQ.js.map +1 -0
- package/dist/{chunk-G7HTZBUR.js → chunk-47TUWE63.js} +3 -3
- package/dist/chunk-47TUWE63.js.map +1 -0
- package/dist/{chunk-FRKG7JQY.js → chunk-5AGUCELC.js} +2 -2
- package/dist/chunk-5AGUCELC.js.map +1 -0
- package/dist/chunk-5K6RO5R3.js +71 -0
- package/dist/chunk-5K6RO5R3.js.map +1 -0
- package/dist/{chunk-A3BB5ZOC.js → chunk-5SAUUOCN.js} +2 -2
- package/dist/chunk-5SAUUOCN.js.map +1 -0
- package/dist/{chunk-2TUWDXAC.js → chunk-5WOCEAZG.js} +3 -3
- package/dist/chunk-5WOCEAZG.js.map +1 -0
- package/dist/{chunk-75WZR6HF.js → chunk-6S5AZCU6.js} +4 -4
- package/dist/chunk-6S5AZCU6.js.map +1 -0
- package/dist/{chunk-2C2HRGM7.js → chunk-6W5FYOXQ.js} +3 -3
- package/dist/chunk-6W5FYOXQ.js.map +1 -0
- package/dist/{chunk-ZHEKDP5X.js → chunk-6Z6NRIQ2.js} +3 -3
- package/dist/chunk-6Z6NRIQ2.js.map +1 -0
- package/dist/{chunk-BAQWGQJG.js → chunk-7KZ7CVRN.js} +3 -3
- package/dist/chunk-7KZ7CVRN.js.map +1 -0
- package/dist/{chunk-C34KSTWA.js → chunk-7NMNLY7F.js} +2 -2
- package/dist/chunk-7NMNLY7F.js.map +1 -0
- package/dist/{chunk-55E7D2HR.js → chunk-BOV3Q2JH.js} +2 -2
- package/dist/chunk-BOV3Q2JH.js.map +1 -0
- package/dist/{chunk-34ARZSNP.js → chunk-CECQY5LL.js} +2 -2
- package/dist/chunk-CECQY5LL.js.map +1 -0
- package/dist/{chunk-JRU2QX7T.js → chunk-CLYBVDEQ.js} +2 -2
- package/dist/chunk-CLYBVDEQ.js.map +1 -0
- package/dist/{chunk-TGYQ3AKH.js → chunk-CNS3OMZ7.js} +2 -2
- package/dist/chunk-CNS3OMZ7.js.map +1 -0
- package/dist/{chunk-C5NZAOA7.js → chunk-CSYH7P6N.js} +2 -2
- package/dist/chunk-CSYH7P6N.js.map +1 -0
- package/dist/{chunk-USIHM7FV.js → chunk-DEKVLLTL.js} +2 -2
- package/dist/chunk-DEKVLLTL.js.map +1 -0
- package/dist/chunk-DNPRGSOD.js +70 -0
- package/dist/chunk-DNPRGSOD.js.map +1 -0
- package/dist/{chunk-Z2QAABLM.js → chunk-DXKFFJIE.js} +2 -2
- package/dist/chunk-DXKFFJIE.js.map +1 -0
- package/dist/{chunk-IAWKX5W4.js → chunk-DXZZURPN.js} +2 -2
- package/dist/chunk-DXZZURPN.js.map +1 -0
- package/dist/{chunk-XOJJBNDX.js → chunk-EAY3QSID.js} +2 -2
- package/dist/chunk-EAY3QSID.js.map +1 -0
- package/dist/{chunk-P3M5TZD2.js → chunk-EYJ7TJIX.js} +2 -2
- package/dist/chunk-EYJ7TJIX.js.map +1 -0
- package/dist/{chunk-67YUL2ZS.js → chunk-FTNPOZGK.js} +2 -2
- package/dist/chunk-FTNPOZGK.js.map +1 -0
- package/dist/{chunk-JXGRW2MR.js → chunk-GR7T5QHL.js} +2 -2
- package/dist/chunk-GR7T5QHL.js.map +1 -0
- package/dist/{chunk-LMT327XH.js → chunk-HEQVBUJO.js} +2 -2
- package/dist/chunk-HEQVBUJO.js.map +1 -0
- package/dist/chunk-HXMY2NQ3.js +90 -0
- package/dist/chunk-HXMY2NQ3.js.map +1 -0
- package/dist/{chunk-VVYSAGB3.js → chunk-I6PJSYBI.js} +3 -3
- package/dist/chunk-I6PJSYBI.js.map +1 -0
- package/dist/{chunk-35DNN46W.js → chunk-ITTPI2Z3.js} +3 -3
- package/dist/chunk-ITTPI2Z3.js.map +1 -0
- package/dist/{chunk-JAJMM32I.js → chunk-IXEPDTUE.js} +3 -3
- package/dist/chunk-IXEPDTUE.js.map +1 -0
- package/dist/{chunk-PGWNOZDX.js → chunk-KCUSO3CK.js} +2 -2
- package/dist/chunk-KCUSO3CK.js.map +1 -0
- package/dist/{chunk-QB3UWRZH.js → chunk-KJAXKHJ2.js} +3 -3
- package/dist/chunk-KJAXKHJ2.js.map +1 -0
- package/dist/{chunk-7IRLBU2I.js → chunk-LA4L3QIK.js} +3 -3
- package/dist/chunk-LA4L3QIK.js.map +1 -0
- package/dist/{chunk-NNJTKHCE.js → chunk-LTGCKJX7.js} +2 -2
- package/dist/chunk-LTGCKJX7.js.map +1 -0
- package/dist/{chunk-JJSVA3TH.js → chunk-LUYTKHGS.js} +2 -2
- package/dist/chunk-LUYTKHGS.js.map +1 -0
- package/dist/{chunk-6GWVQB3Q.js → chunk-MVYSUWSD.js} +3 -3
- package/dist/chunk-MVYSUWSD.js.map +1 -0
- package/dist/{chunk-YBMEQZX7.js → chunk-N5BNNKBR.js} +2 -2
- package/dist/chunk-N5BNNKBR.js.map +1 -0
- package/dist/{chunk-35U6QG4P.js → chunk-N6OUJIQD.js} +2 -2
- package/dist/chunk-N6OUJIQD.js.map +1 -0
- package/dist/{chunk-R2CDE5DO.js → chunk-NWVMNWOH.js} +2 -2
- package/dist/chunk-NWVMNWOH.js.map +1 -0
- package/dist/{chunk-7XH3MGBR.js → chunk-O2KRH6BS.js} +2 -2
- package/dist/chunk-O2KRH6BS.js.map +1 -0
- package/dist/{chunk-NU56GKGM.js → chunk-ORTPKXBI.js} +2 -2
- package/dist/chunk-ORTPKXBI.js.map +1 -0
- package/dist/chunk-OUOGSSRT.js +71 -0
- package/dist/chunk-OUOGSSRT.js.map +1 -0
- package/dist/{chunk-FLWMT4DB.js → chunk-PJZ7D36X.js} +2 -2
- package/dist/chunk-PJZ7D36X.js.map +1 -0
- package/dist/{chunk-CUZR4JWM.js → chunk-PYB6RRA5.js} +3 -3
- package/dist/chunk-PYB6RRA5.js.map +1 -0
- package/dist/{chunk-BRSM3SZP.js → chunk-QGU4BRMO.js} +2 -2
- package/dist/chunk-QGU4BRMO.js.map +1 -0
- package/dist/{chunk-S6PDRGR5.js → chunk-RZZH57ZL.js} +2 -2
- package/dist/chunk-RZZH57ZL.js.map +1 -0
- package/dist/{chunk-EWBCV7VA.js → chunk-S73PGQD5.js} +2 -2
- package/dist/chunk-S73PGQD5.js.map +1 -0
- package/dist/{chunk-N47H4MHX.js → chunk-SAHHVJMQ.js} +3 -3
- package/dist/chunk-SAHHVJMQ.js.map +1 -0
- package/dist/{chunk-INLM7UJC.js → chunk-T65EBJUJ.js} +2 -2
- package/dist/chunk-T65EBJUJ.js.map +1 -0
- package/dist/{chunk-MJLFJPUG.js → chunk-TLQE77WF.js} +5 -5
- package/dist/chunk-TLQE77WF.js.map +1 -0
- package/dist/{chunk-ZPMXRW2A.js → chunk-TPBRGO4D.js} +3 -3
- package/dist/chunk-TPBRGO4D.js.map +1 -0
- package/dist/{chunk-WS6E7HBT.js → chunk-UTF42GJR.js} +3 -3
- package/dist/chunk-UTF42GJR.js.map +1 -0
- package/dist/{chunk-MZ2P566X.js → chunk-VATNOBZ2.js} +3 -3
- package/dist/chunk-VATNOBZ2.js.map +1 -0
- package/dist/{chunk-JLTBUACL.js → chunk-VOLR236J.js} +2 -2
- package/dist/chunk-VOLR236J.js.map +1 -0
- package/dist/{chunk-WL4ZO2H3.js → chunk-W477ZR6B.js} +2 -2
- package/dist/chunk-W477ZR6B.js.map +1 -0
- package/dist/{chunk-3EOHW4QN.js → chunk-WJX6NKKF.js} +3 -3
- package/dist/chunk-WJX6NKKF.js.map +1 -0
- package/dist/{chunk-LTTNCAAA.js → chunk-XNUFKQYL.js} +3 -3
- package/dist/chunk-XNUFKQYL.js.map +1 -0
- package/dist/{chunk-ZYEGBF7G.js → chunk-YU23NDE4.js} +3 -3
- package/dist/chunk-YU23NDE4.js.map +1 -0
- package/dist/chunk-YU55YBID.js +144 -0
- package/dist/chunk-YU55YBID.js.map +1 -0
- package/dist/{chunk-F2ZJLKDP.js → chunk-YVCLIOMM.js} +2 -2
- package/dist/chunk-YVCLIOMM.js.map +1 -0
- package/dist/{chunk-7RMTPT6O.js → chunk-YYJVVYFS.js} +2 -2
- package/dist/chunk-YYJVVYFS.js.map +1 -0
- package/dist/components/display/accordion.js +4 -0
- package/dist/components/display/aspect-ratio.js +3 -0
- package/dist/components/display/avatar.js +4 -0
- package/dist/components/{badge.d.ts → display/badge.d.ts} +1 -1
- package/dist/components/display/badge.js +4 -0
- package/dist/components/display/card.js +4 -0
- package/dist/components/{carousel.d.ts → display/carousel.d.ts} +2 -2
- package/dist/components/display/carousel.js +5 -0
- package/dist/components/{chart.js → display/chart.js} +1 -1
- package/dist/components/display/chart.js.map +1 -0
- package/dist/components/{collapsible.js → display/collapsible.js} +1 -1
- package/dist/components/display/resizable.js +4 -0
- package/dist/components/display/scroll-area.js +4 -0
- package/dist/components/display/separator.js +4 -0
- package/dist/components/display/table.js +4 -0
- package/dist/components/display/toggle-group.js +5 -0
- package/dist/components/display/toggle.js +4 -0
- package/dist/components/domain/calendar/calendar-category-badge.js +5 -0
- package/dist/components/{calendar-event-chip.js → domain/calendar/calendar-event-chip.js} +1 -1
- package/dist/components/domain/calendar/calendar-event-chip.js.map +1 -0
- package/dist/components/{calendar-event-sheet.js → domain/calendar/calendar-event-sheet.js} +6 -6
- package/dist/components/domain/calendar/calendar-event-sheet.js.map +1 -0
- package/dist/components/{calendar-mini.js → domain/calendar/calendar-mini.js} +3 -3
- package/dist/components/domain/calendar/calendar-mini.js.map +1 -0
- package/dist/components/{calendar-toolbar.js → domain/calendar/calendar-toolbar.js} +4 -4
- package/dist/components/domain/calendar/calendar-toolbar.js.map +1 -0
- package/dist/components/domain/calendar/calendar.js +5 -0
- package/dist/components/domain/rbac/permission-grid.js +5 -0
- package/dist/components/domain/rbac/scope-tree.js +5 -0
- package/dist/components/domain/rbac/scope-type-badge.js +5 -0
- package/dist/components/domain/workflow/stage-type-badge.js +5 -0
- package/dist/components/domain/workflow/workflow-category-badge.js +5 -0
- package/dist/components/domain/workflow/workflow-diagram.js +5 -0
- package/dist/components/domain/workflow/workflow-status-badge.js +5 -0
- package/dist/components/domain/workflow/workflow-stepper.js +4 -0
- package/dist/components/{alert.d.ts → feedback/alert.d.ts} +1 -1
- package/dist/components/feedback/alert.js +4 -0
- package/dist/components/feedback/progress.js +4 -0
- package/dist/components/feedback/skeleton.js +4 -0
- package/dist/components/{button.d.ts → inputs/button.d.ts} +2 -2
- package/dist/components/inputs/button.js +4 -0
- package/dist/components/inputs/checkbox.js +4 -0
- package/dist/components/inputs/color-picker.js +9 -0
- package/dist/components/inputs/combobox.js +8 -0
- package/dist/components/{date-picker.js → inputs/date-picker.js} +4 -4
- package/dist/components/inputs/date-picker.js.map +1 -0
- package/dist/components/inputs/file-upload.js +5 -0
- package/dist/components/{form.js → inputs/form.js} +2 -2
- package/dist/components/inputs/form.js.map +1 -0
- package/dist/components/inputs/input-otp.js +4 -0
- package/dist/components/inputs/input.d.ts +75 -0
- package/dist/components/inputs/input.js +6 -0
- package/dist/components/inputs/label.js +4 -0
- package/dist/components/{password-input.d.ts → inputs/password-input.d.ts} +2 -0
- package/dist/components/inputs/password-input.js +7 -0
- package/dist/components/inputs/radio-group.js +4 -0
- package/dist/components/inputs/rating.js +4 -0
- package/dist/components/{select.js → inputs/select.js} +2 -2
- package/dist/components/inputs/slider.js +4 -0
- package/dist/components/inputs/slug-input.js +8 -0
- package/dist/components/inputs/switch.js +4 -0
- package/dist/components/inputs/tag-input.js +5 -0
- package/dist/components/inputs/textarea.d.ts +67 -0
- package/dist/components/inputs/textarea.js +6 -0
- package/dist/{chunk-6DIDQ4TB.js → components/inputs/time-picker.js} +9 -7
- package/dist/components/inputs/time-picker.js.map +1 -0
- package/dist/components/inputs/translatable-field.d.ts +51 -0
- package/dist/components/inputs/translatable-field.js +4 -0
- package/dist/components/inputs/translatable-field.js.map +1 -0
- package/dist/components/layout/page-container.d.ts +96 -0
- package/dist/components/layout/page-container.js +5 -0
- package/dist/components/layout/page-container.js.map +1 -0
- package/dist/components/{breadcrumb.js → navigation/breadcrumb.js} +2 -2
- package/dist/components/{command.d.ts → navigation/command.d.ts} +1 -1
- package/dist/components/{command.js → navigation/command.js} +3 -3
- package/dist/components/{context-menu.js → navigation/context-menu.js} +2 -2
- package/dist/components/{dropdown-menu.js → navigation/dropdown-menu.js} +2 -2
- package/dist/components/{menubar.js → navigation/menubar.js} +2 -2
- package/dist/components/{navigation-menu.js → navigation/navigation-menu.js} +2 -2
- package/dist/components/{pagination.d.ts → navigation/pagination.d.ts} +2 -2
- package/dist/components/{pagination.js → navigation/pagination.js} +3 -3
- package/dist/components/navigation/tabs.js +4 -0
- package/dist/components/{alert-dialog.js → overlay/alert-dialog.js} +3 -3
- package/dist/components/{dialog.js → overlay/dialog.js} +2 -2
- package/dist/components/{drawer.js → overlay/drawer.js} +2 -2
- package/dist/components/{hover-card.js → overlay/hover-card.js} +2 -2
- package/dist/components/overlay/popover.js +4 -0
- package/dist/components/overlay/sheet.js +4 -0
- package/dist/components/overlay/sonner.js +3 -0
- package/dist/components/overlay/tooltip.js +4 -0
- package/dist/index.d.ts +84 -83
- package/dist/index.js +62 -60
- package/dist/providers/ui-provider.d.ts +80 -0
- package/dist/providers/ui-provider.js +3 -0
- package/dist/providers/ui-provider.js.map +1 -0
- package/package.json +22 -17
- package/dist/chunk-2C2HRGM7.js.map +0 -1
- package/dist/chunk-2TUWDXAC.js.map +0 -1
- package/dist/chunk-34ARZSNP.js.map +0 -1
- package/dist/chunk-35DNN46W.js.map +0 -1
- package/dist/chunk-35U6QG4P.js.map +0 -1
- package/dist/chunk-3EOHW4QN.js.map +0 -1
- package/dist/chunk-3VU56V66.js +0 -41
- package/dist/chunk-3VU56V66.js.map +0 -1
- package/dist/chunk-55E7D2HR.js.map +0 -1
- package/dist/chunk-67YUL2ZS.js.map +0 -1
- package/dist/chunk-6DIDQ4TB.js.map +0 -1
- package/dist/chunk-6GWVQB3Q.js.map +0 -1
- package/dist/chunk-75WZR6HF.js.map +0 -1
- package/dist/chunk-7IRLBU2I.js.map +0 -1
- package/dist/chunk-7RMTPT6O.js.map +0 -1
- package/dist/chunk-7XH3MGBR.js.map +0 -1
- package/dist/chunk-A3BB5ZOC.js.map +0 -1
- package/dist/chunk-BAQWGQJG.js.map +0 -1
- package/dist/chunk-BRSM3SZP.js.map +0 -1
- package/dist/chunk-C34KSTWA.js.map +0 -1
- package/dist/chunk-C5NZAOA7.js.map +0 -1
- package/dist/chunk-CUZR4JWM.js.map +0 -1
- package/dist/chunk-EWBCV7VA.js.map +0 -1
- package/dist/chunk-F2ZJLKDP.js.map +0 -1
- package/dist/chunk-FLWMT4DB.js.map +0 -1
- package/dist/chunk-FRKG7JQY.js.map +0 -1
- package/dist/chunk-G7HTZBUR.js.map +0 -1
- package/dist/chunk-IAWKX5W4.js.map +0 -1
- package/dist/chunk-INLM7UJC.js.map +0 -1
- package/dist/chunk-JAJMM32I.js.map +0 -1
- package/dist/chunk-JJSVA3TH.js.map +0 -1
- package/dist/chunk-JLTBUACL.js.map +0 -1
- package/dist/chunk-JRU2QX7T.js.map +0 -1
- package/dist/chunk-JXGRW2MR.js.map +0 -1
- package/dist/chunk-LMT327XH.js.map +0 -1
- package/dist/chunk-LTTNCAAA.js.map +0 -1
- package/dist/chunk-MJLFJPUG.js.map +0 -1
- package/dist/chunk-MZ2P566X.js.map +0 -1
- package/dist/chunk-N47H4MHX.js.map +0 -1
- package/dist/chunk-NNJTKHCE.js.map +0 -1
- package/dist/chunk-NPL2R5LD.js.map +0 -1
- package/dist/chunk-NU56GKGM.js.map +0 -1
- package/dist/chunk-P3M5TZD2.js.map +0 -1
- package/dist/chunk-PGWNOZDX.js.map +0 -1
- package/dist/chunk-QB3UWRZH.js.map +0 -1
- package/dist/chunk-R2CDE5DO.js.map +0 -1
- package/dist/chunk-RQNZDWY3.js.map +0 -1
- package/dist/chunk-S6PDRGR5.js.map +0 -1
- package/dist/chunk-TGYQ3AKH.js.map +0 -1
- package/dist/chunk-TJMK2KBE.js.map +0 -1
- package/dist/chunk-USIHM7FV.js.map +0 -1
- package/dist/chunk-VVYSAGB3.js.map +0 -1
- package/dist/chunk-WD5KZE25.js +0 -25
- package/dist/chunk-WD5KZE25.js.map +0 -1
- package/dist/chunk-WL4ZO2H3.js.map +0 -1
- package/dist/chunk-WS6E7HBT.js.map +0 -1
- package/dist/chunk-XOJJBNDX.js.map +0 -1
- package/dist/chunk-YBMEQZX7.js.map +0 -1
- package/dist/chunk-Z2QAABLM.js.map +0 -1
- package/dist/chunk-ZHEKDP5X.js.map +0 -1
- package/dist/chunk-ZPMXRW2A.js.map +0 -1
- package/dist/chunk-ZYEGBF7G.js.map +0 -1
- package/dist/components/accordion.js +0 -4
- package/dist/components/alert.js +0 -4
- package/dist/components/aspect-ratio.js +0 -3
- package/dist/components/avatar.js +0 -4
- package/dist/components/badge.js +0 -4
- package/dist/components/button.js +0 -4
- package/dist/components/calendar-category-badge.js +0 -5
- package/dist/components/calendar-event-chip.js.map +0 -1
- package/dist/components/calendar-event-sheet.js.map +0 -1
- package/dist/components/calendar-mini.js.map +0 -1
- package/dist/components/calendar-toolbar.js.map +0 -1
- package/dist/components/calendar.js +0 -5
- package/dist/components/card.js +0 -4
- package/dist/components/carousel.js +0 -5
- package/dist/components/chart.js.map +0 -1
- package/dist/components/checkbox.js +0 -4
- package/dist/components/color-picker.js +0 -7
- package/dist/components/combobox.js +0 -8
- package/dist/components/date-picker.js.map +0 -1
- package/dist/components/file-upload.js +0 -5
- package/dist/components/form.js.map +0 -1
- package/dist/components/input-otp.js +0 -4
- package/dist/components/input.d.ts +0 -38
- package/dist/components/input.js +0 -4
- package/dist/components/label.js +0 -4
- package/dist/components/password-input.js +0 -5
- package/dist/components/permission-grid.js +0 -5
- package/dist/components/popover.js +0 -4
- package/dist/components/progress.js +0 -4
- package/dist/components/radio-group.js +0 -4
- package/dist/components/rating.js +0 -4
- package/dist/components/resizable.js +0 -4
- package/dist/components/scope-tree.js +0 -5
- package/dist/components/scope-type-badge.js +0 -5
- package/dist/components/scroll-area.js +0 -4
- package/dist/components/separator.js +0 -4
- package/dist/components/sheet.js +0 -4
- package/dist/components/skeleton.js +0 -4
- package/dist/components/slider.js +0 -4
- package/dist/components/slug-input.js +0 -6
- package/dist/components/sonner.js +0 -3
- package/dist/components/stage-type-badge.js +0 -5
- package/dist/components/switch.js +0 -4
- package/dist/components/table.js +0 -4
- package/dist/components/tabs.js +0 -4
- package/dist/components/tag-input.js +0 -5
- package/dist/components/textarea.d.ts +0 -21
- package/dist/components/textarea.js +0 -4
- package/dist/components/time-picker.js +0 -8
- package/dist/components/time-picker.js.map +0 -1
- package/dist/components/toggle-group.js +0 -5
- package/dist/components/toggle.js +0 -4
- package/dist/components/tooltip.js +0 -4
- package/dist/components/workflow-category-badge.js +0 -5
- package/dist/components/workflow-diagram.js +0 -5
- package/dist/components/workflow-status-badge.js +0 -5
- package/dist/components/workflow-stepper.js +0 -4
- /package/dist/components/{accordion.d.ts → display/accordion.d.ts} +0 -0
- /package/dist/components/{accordion.js.map → display/accordion.js.map} +0 -0
- /package/dist/components/{aspect-ratio.d.ts → display/aspect-ratio.d.ts} +0 -0
- /package/dist/components/{aspect-ratio.js.map → display/aspect-ratio.js.map} +0 -0
- /package/dist/components/{avatar.d.ts → display/avatar.d.ts} +0 -0
- /package/dist/components/{avatar.js.map → display/avatar.js.map} +0 -0
- /package/dist/components/{badge.js.map → display/badge.js.map} +0 -0
- /package/dist/components/{card.d.ts → display/card.d.ts} +0 -0
- /package/dist/components/{card.js.map → display/card.js.map} +0 -0
- /package/dist/components/{carousel.js.map → display/carousel.js.map} +0 -0
- /package/dist/components/{chart.d.ts → display/chart.d.ts} +0 -0
- /package/dist/components/{collapsible.d.ts → display/collapsible.d.ts} +0 -0
- /package/dist/components/{collapsible.js.map → display/collapsible.js.map} +0 -0
- /package/dist/components/{resizable.d.ts → display/resizable.d.ts} +0 -0
- /package/dist/components/{resizable.js.map → display/resizable.js.map} +0 -0
- /package/dist/components/{scroll-area.d.ts → display/scroll-area.d.ts} +0 -0
- /package/dist/components/{scroll-area.js.map → display/scroll-area.js.map} +0 -0
- /package/dist/components/{separator.d.ts → display/separator.d.ts} +0 -0
- /package/dist/components/{separator.js.map → display/separator.js.map} +0 -0
- /package/dist/components/{table.d.ts → display/table.d.ts} +0 -0
- /package/dist/components/{table.js.map → display/table.js.map} +0 -0
- /package/dist/components/{toggle-group.d.ts → display/toggle-group.d.ts} +0 -0
- /package/dist/components/{toggle-group.js.map → display/toggle-group.js.map} +0 -0
- /package/dist/components/{toggle.d.ts → display/toggle.d.ts} +0 -0
- /package/dist/components/{toggle.js.map → display/toggle.js.map} +0 -0
- /package/dist/components/{calendar-category-badge.d.ts → domain/calendar/calendar-category-badge.d.ts} +0 -0
- /package/dist/components/{calendar-category-badge.js.map → domain/calendar/calendar-category-badge.js.map} +0 -0
- /package/dist/components/{calendar-event-chip.d.ts → domain/calendar/calendar-event-chip.d.ts} +0 -0
- /package/dist/components/{calendar-event-sheet.d.ts → domain/calendar/calendar-event-sheet.d.ts} +0 -0
- /package/dist/components/{calendar-mini.d.ts → domain/calendar/calendar-mini.d.ts} +0 -0
- /package/dist/components/{calendar-toolbar.d.ts → domain/calendar/calendar-toolbar.d.ts} +0 -0
- /package/dist/components/{calendar.d.ts → domain/calendar/calendar.d.ts} +0 -0
- /package/dist/components/{calendar.js.map → domain/calendar/calendar.js.map} +0 -0
- /package/dist/components/{permission-grid.d.ts → domain/rbac/permission-grid.d.ts} +0 -0
- /package/dist/components/{permission-grid.js.map → domain/rbac/permission-grid.js.map} +0 -0
- /package/dist/components/{scope-tree.d.ts → domain/rbac/scope-tree.d.ts} +0 -0
- /package/dist/components/{scope-tree.js.map → domain/rbac/scope-tree.js.map} +0 -0
- /package/dist/components/{scope-type-badge.d.ts → domain/rbac/scope-type-badge.d.ts} +0 -0
- /package/dist/components/{scope-type-badge.js.map → domain/rbac/scope-type-badge.js.map} +0 -0
- /package/dist/components/{stage-type-badge.d.ts → domain/workflow/stage-type-badge.d.ts} +0 -0
- /package/dist/components/{stage-type-badge.js.map → domain/workflow/stage-type-badge.js.map} +0 -0
- /package/dist/components/{workflow-category-badge.d.ts → domain/workflow/workflow-category-badge.d.ts} +0 -0
- /package/dist/components/{workflow-category-badge.js.map → domain/workflow/workflow-category-badge.js.map} +0 -0
- /package/dist/components/{workflow-diagram.d.ts → domain/workflow/workflow-diagram.d.ts} +0 -0
- /package/dist/components/{workflow-diagram.js.map → domain/workflow/workflow-diagram.js.map} +0 -0
- /package/dist/components/{workflow-status-badge.d.ts → domain/workflow/workflow-status-badge.d.ts} +0 -0
- /package/dist/components/{workflow-status-badge.js.map → domain/workflow/workflow-status-badge.js.map} +0 -0
- /package/dist/components/{workflow-stepper.d.ts → domain/workflow/workflow-stepper.d.ts} +0 -0
- /package/dist/components/{workflow-stepper.js.map → domain/workflow/workflow-stepper.js.map} +0 -0
- /package/dist/components/{alert.js.map → feedback/alert.js.map} +0 -0
- /package/dist/components/{progress.d.ts → feedback/progress.d.ts} +0 -0
- /package/dist/components/{progress.js.map → feedback/progress.js.map} +0 -0
- /package/dist/components/{skeleton.d.ts → feedback/skeleton.d.ts} +0 -0
- /package/dist/components/{skeleton.js.map → feedback/skeleton.js.map} +0 -0
- /package/dist/components/{button.js.map → inputs/button.js.map} +0 -0
- /package/dist/components/{checkbox.d.ts → inputs/checkbox.d.ts} +0 -0
- /package/dist/components/{checkbox.js.map → inputs/checkbox.js.map} +0 -0
- /package/dist/components/{color-picker.d.ts → inputs/color-picker.d.ts} +0 -0
- /package/dist/components/{color-picker.js.map → inputs/color-picker.js.map} +0 -0
- /package/dist/components/{combobox.d.ts → inputs/combobox.d.ts} +0 -0
- /package/dist/components/{combobox.js.map → inputs/combobox.js.map} +0 -0
- /package/dist/components/{date-picker.d.ts → inputs/date-picker.d.ts} +0 -0
- /package/dist/components/{file-upload.d.ts → inputs/file-upload.d.ts} +0 -0
- /package/dist/components/{file-upload.js.map → inputs/file-upload.js.map} +0 -0
- /package/dist/components/{form.d.ts → inputs/form.d.ts} +0 -0
- /package/dist/components/{input-otp.d.ts → inputs/input-otp.d.ts} +0 -0
- /package/dist/components/{input-otp.js.map → inputs/input-otp.js.map} +0 -0
- /package/dist/components/{input.js.map → inputs/input.js.map} +0 -0
- /package/dist/components/{label.d.ts → inputs/label.d.ts} +0 -0
- /package/dist/components/{label.js.map → inputs/label.js.map} +0 -0
- /package/dist/components/{password-input.js.map → inputs/password-input.js.map} +0 -0
- /package/dist/components/{radio-group.d.ts → inputs/radio-group.d.ts} +0 -0
- /package/dist/components/{radio-group.js.map → inputs/radio-group.js.map} +0 -0
- /package/dist/components/{rating.d.ts → inputs/rating.d.ts} +0 -0
- /package/dist/components/{rating.js.map → inputs/rating.js.map} +0 -0
- /package/dist/components/{select.d.ts → inputs/select.d.ts} +0 -0
- /package/dist/components/{select.js.map → inputs/select.js.map} +0 -0
- /package/dist/components/{slider.d.ts → inputs/slider.d.ts} +0 -0
- /package/dist/components/{slider.js.map → inputs/slider.js.map} +0 -0
- /package/dist/components/{slug-input.d.ts → inputs/slug-input.d.ts} +0 -0
- /package/dist/components/{slug-input.js.map → inputs/slug-input.js.map} +0 -0
- /package/dist/components/{switch.d.ts → inputs/switch.d.ts} +0 -0
- /package/dist/components/{switch.js.map → inputs/switch.js.map} +0 -0
- /package/dist/components/{tag-input.d.ts → inputs/tag-input.d.ts} +0 -0
- /package/dist/components/{tag-input.js.map → inputs/tag-input.js.map} +0 -0
- /package/dist/components/{textarea.js.map → inputs/textarea.js.map} +0 -0
- /package/dist/components/{time-picker.d.ts → inputs/time-picker.d.ts} +0 -0
- /package/dist/components/{breadcrumb.d.ts → navigation/breadcrumb.d.ts} +0 -0
- /package/dist/components/{breadcrumb.js.map → navigation/breadcrumb.js.map} +0 -0
- /package/dist/components/{command.js.map → navigation/command.js.map} +0 -0
- /package/dist/components/{context-menu.d.ts → navigation/context-menu.d.ts} +0 -0
- /package/dist/components/{context-menu.js.map → navigation/context-menu.js.map} +0 -0
- /package/dist/components/{dropdown-menu.d.ts → navigation/dropdown-menu.d.ts} +0 -0
- /package/dist/components/{dropdown-menu.js.map → navigation/dropdown-menu.js.map} +0 -0
- /package/dist/components/{menubar.d.ts → navigation/menubar.d.ts} +0 -0
- /package/dist/components/{menubar.js.map → navigation/menubar.js.map} +0 -0
- /package/dist/components/{navigation-menu.d.ts → navigation/navigation-menu.d.ts} +0 -0
- /package/dist/components/{navigation-menu.js.map → navigation/navigation-menu.js.map} +0 -0
- /package/dist/components/{pagination.js.map → navigation/pagination.js.map} +0 -0
- /package/dist/components/{tabs.d.ts → navigation/tabs.d.ts} +0 -0
- /package/dist/components/{tabs.js.map → navigation/tabs.js.map} +0 -0
- /package/dist/components/{alert-dialog.d.ts → overlay/alert-dialog.d.ts} +0 -0
- /package/dist/components/{alert-dialog.js.map → overlay/alert-dialog.js.map} +0 -0
- /package/dist/components/{dialog.d.ts → overlay/dialog.d.ts} +0 -0
- /package/dist/components/{dialog.js.map → overlay/dialog.js.map} +0 -0
- /package/dist/components/{drawer.d.ts → overlay/drawer.d.ts} +0 -0
- /package/dist/components/{drawer.js.map → overlay/drawer.js.map} +0 -0
- /package/dist/components/{hover-card.d.ts → overlay/hover-card.d.ts} +0 -0
- /package/dist/components/{hover-card.js.map → overlay/hover-card.js.map} +0 -0
- /package/dist/components/{popover.d.ts → overlay/popover.d.ts} +0 -0
- /package/dist/components/{popover.js.map → overlay/popover.js.map} +0 -0
- /package/dist/components/{sheet.d.ts → overlay/sheet.d.ts} +0 -0
- /package/dist/components/{sheet.js.map → overlay/sheet.js.map} +0 -0
- /package/dist/components/{sonner.d.ts → overlay/sonner.d.ts} +0 -0
- /package/dist/components/{sonner.js.map → overlay/sonner.js.map} +0 -0
- /package/dist/components/{tooltip.d.ts → overlay/tooltip.d.ts} +0 -0
- /package/dist/components/{tooltip.js.map → overlay/tooltip.js.map} +0 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import useEmblaCarousel from 'embla-carousel-react';
|
|
4
|
-
import { Button } from '
|
|
4
|
+
import { Button } from '../inputs/button.js';
|
|
5
5
|
import 'class-variance-authority/types';
|
|
6
6
|
import 'class-variance-authority';
|
|
7
|
-
import '
|
|
7
|
+
import '../../lib/types.js';
|
|
8
8
|
|
|
9
9
|
type CarouselApi = ReturnType<typeof useEmblaCarousel>[1];
|
|
10
10
|
type UseCarouselParameters = Parameters<typeof useEmblaCarousel>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/display/chart.tsx"],"names":["config"],"mappings":"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","file":"chart.js","sourcesContent":["import * as React from \"react\";\nimport * as RechartsPrimitive from \"recharts\";\n\nimport { cn } from \"../../lib/utils\";\n\n// Format: { THEME_NAME: CSS_SELECTOR }\nconst THEMES = { light: \"\", dark: \".dark\" } as const;\n\n/**\n * Configuration object for chart data series. Each key maps to a data series\n * and defines its label, optional icon, and color (either a single color or\n * per-theme colors).\n *\n * @example\n * ```tsx\n * const config: ChartConfig = {\n * revenue: { label: \"Revenue\", color: \"var(--color-blue-500)\" },\n * expenses: { label: \"Expenses\", theme: { light: \"#ef4444\", dark: \"#f87171\" } },\n * };\n * ```\n */\nexport type ChartConfig = {\n [k in string]: {\n /** Display label for this data series. */\n label?: React.ReactNode;\n /** Optional icon component displayed in the legend. */\n icon?: React.ComponentType;\n } & (\n | { /** Single color used across all themes. */ color?: string; theme?: never }\n | { color?: never; /** Per-theme color mapping (light/dark). */ theme: Record<keyof typeof THEMES, string> }\n );\n};\n\ntype ChartContextProps = {\n config: ChartConfig;\n};\n\nconst ChartContext = React.createContext<ChartContextProps | null>(null);\n\n/**\n * Hook to access the chart configuration from the nearest ChartContainer.\n * Must be used within a {@link ChartContainer}.\n *\n * @throws If used outside of a ChartContainer.\n */\nfunction useChart() {\n const context = React.useContext(ChartContext);\n\n if (!context) {\n throw new Error(\"useChart must be used within a <ChartContainer />\");\n }\n\n return context;\n}\n\n/**\n * Wrapper that provides chart configuration context, injects theme-aware CSS\n * custom properties for data series colors, and renders a Recharts\n * `ResponsiveContainer`.\n *\n * @param config - Chart configuration mapping data keys to labels, icons, and colors.\n *\n * @example\n * ```tsx\n * <ChartContainer config={{ revenue: { label: \"Revenue\", color: \"#3b82f6\" } }}>\n * <BarChart data={data}>\n * <Bar dataKey=\"revenue\" fill=\"var(--color-revenue)\" />\n * </BarChart>\n * </ChartContainer>\n * ```\n */\nfunction ChartContainer({\n id,\n className,\n children,\n config,\n ...props\n}: React.ComponentProps<\"div\"> & {\n /** Chart configuration mapping data keys to labels, icons, and colors. */\n config: ChartConfig;\n /** Recharts chart element (e.g. BarChart, LineChart). */\n children: React.ComponentProps<\n typeof RechartsPrimitive.ResponsiveContainer\n >[\"children\"];\n}) {\n const uniqueId = React.useId();\n const chartId = `chart-${id || uniqueId.replace(/:/g, \"\")}`;\n\n return (\n <ChartContext.Provider value={{ config }}>\n <div\n data-slot=\"chart\"\n data-chart={chartId}\n className={cn(\n \"[&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border flex aspect-video justify-center text-xs [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-hidden [&_.recharts-sector]:outline-hidden [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-surface]:outline-hidden\",\n className,\n )}\n {...props}\n >\n <ChartStyle id={chartId} config={config} />\n <RechartsPrimitive.ResponsiveContainer>\n {children}\n </RechartsPrimitive.ResponsiveContainer>\n </div>\n </ChartContext.Provider>\n );\n}\n\n/** Injects a `<style>` tag with CSS custom properties for chart colors, scoped to the chart container. */\nconst ChartStyle = ({ id, config }: { id: string; config: ChartConfig }) => {\n const colorConfig = Object.entries(config).filter(\n ([, config]) => config.theme || config.color,\n );\n\n if (!colorConfig.length) {\n return null;\n }\n\n return (\n <style\n dangerouslySetInnerHTML={{\n __html: Object.entries(THEMES)\n .map(\n ([theme, prefix]) => `\n${prefix} [data-chart=${id}] {\n${colorConfig\n .map(([key, itemConfig]) => {\n const color =\n itemConfig.theme?.[theme as keyof typeof itemConfig.theme] ||\n itemConfig.color;\n return color ? ` --color-${key}: ${color};` : null;\n })\n .join(\"\\n\")}\n}\n`,\n )\n .join(\"\\n\"),\n }}\n />\n );\n};\n\n/** Re-export of Recharts Tooltip for use with ChartTooltipContent. */\nconst ChartTooltip = RechartsPrimitive.Tooltip;\n\n/**\n * Styled tooltip content for use inside `<ChartTooltip content={<ChartTooltipContent />} />`.\n * Renders data series with color indicators, labels from ChartConfig, and formatted values.\n *\n * @param indicator - Shape of the color indicator: `\"dot\"`, `\"line\"`, or `\"dashed\"`.\n * @param hideLabel - Whether to hide the tooltip header label.\n * @param hideIndicator - Whether to hide the color indicator.\n * @param nameKey - Data key to resolve series name from the payload.\n * @param labelKey - Data key to resolve the tooltip header label from config.\n */\nfunction ChartTooltipContent({\n active,\n payload,\n className,\n indicator = \"dot\",\n hideLabel = false,\n hideIndicator = false,\n label,\n labelFormatter,\n labelClassName,\n formatter,\n color,\n nameKey,\n labelKey,\n}: React.ComponentProps<\"div\"> & {\n active?: boolean;\n payload?: Array<{\n name?: string;\n value?: string | number;\n dataKey?: string;\n color?: string;\n fill?: string;\n payload?: Record<string, unknown>;\n [key: string]: unknown;\n }>;\n label?: string;\n labelClassName?: string;\n labelFormatter?: (label: unknown, payload: Array<Record<string, unknown>>) => React.ReactNode;\n formatter?: (value: unknown, name: string, item: Record<string, unknown>, index: number, payload: unknown) => React.ReactNode;\n color?: string;\n /** Whether to hide the tooltip header label. */\n hideLabel?: boolean;\n /** Whether to hide the color indicator next to each series. */\n hideIndicator?: boolean;\n /** Shape of the color indicator. Defaults to `\"dot\"`. */\n indicator?: \"line\" | \"dot\" | \"dashed\";\n /** Data key used to resolve the series name from payload. */\n nameKey?: string;\n /** Data key used to resolve the header label from config. */\n labelKey?: string;\n }) {\n const { config } = useChart();\n\n const tooltipLabel = React.useMemo(() => {\n if (hideLabel || !payload?.length) {\n return null;\n }\n\n const [item] = payload;\n const key = `${labelKey || item?.dataKey || item?.name || \"value\"}`;\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\n const value =\n !labelKey && typeof label === \"string\"\n ? config[label as keyof typeof config]?.label || label\n : itemConfig?.label;\n\n if (labelFormatter) {\n return (\n <div className={cn(\"font-medium\", labelClassName)}>\n {labelFormatter(value, payload)}\n </div>\n );\n }\n\n if (!value) {\n return null;\n }\n\n return <div className={cn(\"font-medium\", labelClassName)}>{value}</div>;\n }, [\n label,\n labelFormatter,\n payload,\n hideLabel,\n labelClassName,\n config,\n labelKey,\n ]);\n\n if (!active || !payload?.length) {\n return null;\n }\n\n const nestLabel = payload.length === 1 && indicator !== \"dot\";\n\n return (\n <div\n className={cn(\n \"border-border/50 bg-background grid min-w-[8rem] items-start gap-1.5 rounded-lg border px-2.5 py-1.5 text-xs shadow-xl\",\n className,\n )}\n >\n {!nestLabel ? tooltipLabel : null}\n <div className=\"grid gap-1.5\">\n {payload.map((item, index) => {\n const key = `${nameKey || item.name || item.dataKey || \"value\"}`;\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\n const indicatorColor = color || (item.payload?.fill as string) || item.color;\n\n return (\n <div\n key={item.dataKey}\n className={cn(\n \"[&>svg]:text-muted-foreground flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5\",\n indicator === \"dot\" && \"items-center\",\n )}\n >\n {formatter && item?.value !== undefined && item.name ? (\n formatter(item.value, item.name, item, index, item.payload)\n ) : (\n <>\n {itemConfig?.icon ? (\n <itemConfig.icon />\n ) : (\n !hideIndicator && (\n <div\n className={cn(\n \"shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)\",\n {\n \"h-2.5 w-2.5\": indicator === \"dot\",\n \"w-1\": indicator === \"line\",\n \"w-0 border-[1.5px] border-dashed bg-transparent\":\n indicator === \"dashed\",\n \"my-0.5\": nestLabel && indicator === \"dashed\",\n },\n )}\n style={\n {\n \"--color-bg\": indicatorColor,\n \"--color-border\": indicatorColor,\n } as React.CSSProperties\n }\n />\n )\n )}\n <div\n className={cn(\n \"flex flex-1 justify-between leading-none\",\n nestLabel ? \"items-end\" : \"items-center\",\n )}\n >\n <div className=\"grid gap-1.5\">\n {nestLabel ? tooltipLabel : null}\n <span className=\"text-muted-foreground\">\n {itemConfig?.label || item.name}\n </span>\n </div>\n {item.value && (\n <span className=\"text-foreground font-mono font-medium tabular-nums\">\n {item.value.toLocaleString()}\n </span>\n )}\n </div>\n </>\n )}\n </div>\n );\n })}\n </div>\n </div>\n );\n}\n\n/** Re-export of Recharts Legend for use with ChartLegendContent. */\nconst ChartLegend = RechartsPrimitive.Legend;\n\n/**\n * Styled legend content for use inside `<ChartLegend content={<ChartLegendContent />} />`.\n * Renders a horizontal list of series labels with color indicators or custom icons from ChartConfig.\n *\n * @param hideIcon - Whether to hide the color dot / custom icon.\n * @param nameKey - Data key to resolve the series name from payload.\n */\nfunction ChartLegendContent({\n className,\n hideIcon = false,\n payload,\n verticalAlign = \"bottom\",\n nameKey,\n}: React.ComponentProps<\"div\"> & {\n payload?: Array<{\n value?: string;\n dataKey?: string;\n color?: string;\n [key: string]: unknown;\n }>;\n verticalAlign?: \"top\" | \"bottom\" | \"middle\";\n /** Whether to hide the color indicator or custom icon. */\n hideIcon?: boolean;\n /** Data key used to resolve the series name from payload. */\n nameKey?: string;\n }) {\n const { config } = useChart();\n\n if (!payload?.length) {\n return null;\n }\n\n return (\n <div\n className={cn(\n \"flex items-center justify-center gap-4\",\n verticalAlign === \"top\" ? \"pb-3\" : \"pt-3\",\n className,\n )}\n >\n {payload.map((item) => {\n const key = `${nameKey || item.dataKey || \"value\"}`;\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\n\n return (\n <div\n key={item.value}\n className={cn(\n \"[&>svg]:text-muted-foreground flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3\",\n )}\n >\n {itemConfig?.icon && !hideIcon ? (\n <itemConfig.icon />\n ) : (\n <div\n className=\"h-2 w-2 shrink-0 rounded-[2px]\"\n style={{\n backgroundColor: item.color,\n }}\n />\n )}\n {itemConfig?.label}\n </div>\n );\n })}\n </div>\n );\n}\n\n// Helper to extract item config from a payload.\nfunction getPayloadConfigFromPayload(\n config: ChartConfig,\n payload: unknown,\n key: string,\n) {\n if (typeof payload !== \"object\" || payload === null) {\n return undefined;\n }\n\n const payloadPayload =\n \"payload\" in payload &&\n typeof payload.payload === \"object\" &&\n payload.payload !== null\n ? payload.payload\n : undefined;\n\n let configLabelKey: string = key;\n\n if (\n key in payload &&\n typeof payload[key as keyof typeof payload] === \"string\"\n ) {\n configLabelKey = payload[key as keyof typeof payload] as string;\n } else if (\n payloadPayload &&\n key in payloadPayload &&\n typeof payloadPayload[key as keyof typeof payloadPayload] === \"string\"\n ) {\n configLabelKey = payloadPayload[\n key as keyof typeof payloadPayload\n ] as string;\n }\n\n return configLabelKey in config\n ? config[configLabelKey]\n : config[key as keyof typeof config];\n}\n\nexport {\n ChartContainer,\n ChartTooltip,\n ChartTooltipContent,\n ChartLegend,\n ChartLegendContent,\n ChartStyle,\n};"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/domain/calendar/calendar-event-chip.tsx"],"names":[],"mappings":";;;;AAyCO,SAAS,kBAAkB,EAAE,KAAA,EAAO,OAAA,GAAU,KAAA,EAAO,SAAQ,EAA2B;AAC7F,EAAA,uBACE,IAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,IAAA,EAAK,QAAA;AAAA,MACL,OAAA,EAAS,MAAM,OAAA,GAAU,KAAK,CAAA;AAAA,MAC9B,SAAA,EAAW,EAAA;AAAA,QACT,wHAAA;AAAA,QACA,UAAU,eAAA,GAAkB;AAAA,OAC9B;AAAA,MACA,KAAA,EAAO;AAAA,QACL,eAAA,EAAiB,CAAA,EAAG,KAAA,CAAM,KAAK,CAAA,EAAA,CAAA;AAAA,QAC/B,OAAO,KAAA,CAAM,KAAA;AAAA,QACb,UAAA,EAAY,CAAA,UAAA,EAAa,KAAA,CAAM,KAAK,CAAA;AAAA,OACtC;AAAA,MAEC,QAAA,EAAA;AAAA,QAAA,CAAC,KAAA,CAAM,MAAA,IAAU,CAAC,OAAA,oBACjB,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,iBAAA,EAAmB,QAAA,EAAA,MAAA,CAAO,KAAA,CAAM,KAAA,EAAO,OAAO,CAAA,EAAE,CAAA;AAAA,QAEjE,KAAA,CAAM;AAAA;AAAA;AAAA,GACT;AAEJ","file":"calendar-event-chip.js","sourcesContent":["import { format } from 'date-fns';\nimport { cn } from '../../../lib/utils';\n\n/** Event data shape required by CalendarEventChip. */\nexport interface CalendarEventChipEvent {\n /** Unique event identifier. */\n id: string;\n /** Display title of the event. */\n title: string;\n /** Event start date/time. */\n start: Date;\n /** Event end date/time. */\n end: Date;\n /** Whether this is an all-day event. When true, time is not displayed. */\n allDay?: boolean;\n /** CSS color string used for the chip background, text, and left border. */\n color: string;\n}\n\nexport interface CalendarEventChipProps {\n /** The event to display. */\n event: CalendarEventChipEvent;\n /** Use compact layout with tighter line-height. Defaults to `false`. */\n compact?: boolean;\n /** Callback when the chip is clicked. */\n onClick?: (event: CalendarEventChipEvent) => void;\n}\n\n/**\n * Small colored chip representing a calendar event. Shows the event title\n * with a colored left border and tinted background. Optionally displays\n * the start time for non-all-day events.\n *\n * @example\n * ```tsx\n * <CalendarEventChip\n * event={{ id: \"1\", title: \"Standup\", start: new Date(), end: new Date(), color: \"#3b82f6\" }}\n * onClick={(e) => openDetail(e.id)}\n * />\n * ```\n */\nexport function CalendarEventChip({ event, compact = false, onClick }: CalendarEventChipProps) {\n return (\n <button\n type=\"button\"\n onClick={() => onClick?.(event)}\n className={cn(\n 'w-full text-left rounded px-1.5 py-0.5 text-xs font-medium truncate transition-opacity hover:opacity-80 cursor-pointer',\n compact ? 'leading-tight' : 'leading-normal'\n )}\n style={{\n backgroundColor: `${event.color}20`,\n color: event.color,\n borderLeft: `2px solid ${event.color}`,\n }}\n >\n {!event.allDay && !compact && (\n <span className=\"opacity-75 mr-1\">{format(event.start, 'HH:mm')}</span>\n )}\n {event.title}\n </button>\n );\n}\n"]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { Sheet, SheetContent, SheetHeader, SheetTitle } from '
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
import '
|
|
6
|
-
import '
|
|
1
|
+
import { Sheet, SheetContent, SheetHeader, SheetTitle } from '../../../chunk-VOLR236J.js';
|
|
2
|
+
import { Separator } from '../../../chunk-KCUSO3CK.js';
|
|
3
|
+
import { CalendarCategoryBadge } from '../../../chunk-IXEPDTUE.js';
|
|
4
|
+
import '../../../chunk-5SAUUOCN.js';
|
|
5
|
+
import { Button } from '../../../chunk-BOV3Q2JH.js';
|
|
6
|
+
import '../../../chunk-DGPY4WP3.js';
|
|
7
7
|
import { format } from 'date-fns';
|
|
8
8
|
import { Clock, MapPin, Users, Trash2 } from 'lucide-react';
|
|
9
9
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/domain/calendar/calendar-event-sheet.tsx"],"names":[],"mappings":"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","file":"calendar-event-sheet.js","sourcesContent":["import { format } from 'date-fns';\nimport { Clock, MapPin, Users, Trash2 } from 'lucide-react';\nimport { Sheet, SheetContent, SheetHeader, SheetTitle } from '../../overlay/sheet';\nimport { Button } from '../../inputs/button';\nimport { Separator } from '../../display/separator';\nimport { CalendarCategoryBadge } from './calendar-category-badge';\n\n/** Extended event data shape for the detail sheet, including description, location, and attendees. */\nexport interface CalendarEventSheetEvent {\n /** Unique event identifier. */\n id: string;\n /** Display title of the event. */\n title: string;\n /** Optional long description or notes for the event. */\n description?: string;\n /** Event start date/time. */\n start: Date;\n /** Event end date/time. */\n end: Date;\n /** Whether this is an all-day event. */\n allDay?: boolean;\n /** CSS color string for the event. */\n color: string;\n /** Category key (e.g. \"meeting\", \"deadline\") used by CalendarCategoryBadge. */\n category: string;\n /** Optional location string. */\n location?: string;\n /** Optional list of attendee email addresses. */\n attendees?: string[];\n}\n\n/** Localizable labels for the event detail sheet. All have English defaults. */\nexport interface CalendarEventSheetLabels {\n /** Text displayed for all-day events instead of a time range. */\n allDay?: string;\n /** Heading text for the attendees section. */\n attendees?: string;\n /** Label for the delete button. */\n delete?: string;\n}\n\nconst defaultLabels: Required<CalendarEventSheetLabels> = {\n allDay: 'All Day',\n attendees: 'Attendees',\n delete: 'Delete',\n};\n\nexport interface CalendarEventSheetProps {\n /** The event to display, or `null` to render nothing. */\n event: CalendarEventSheetEvent | null;\n /** Whether the sheet is open. */\n open: boolean;\n /** Callback to toggle the sheet open state. */\n onOpenChange: (open: boolean) => void;\n /** Optional callback when the delete button is clicked. Receives the event id. */\n onDelete?: (id: string) => void;\n /** Override display label for the category badge. */\n categoryLabel?: string;\n /** Custom className styles per category key for the CalendarCategoryBadge. */\n categoryStyles?: Record<string, string>;\n /** Localizable UI labels with English defaults. */\n labels?: CalendarEventSheetLabels;\n}\n\n/**\n * Side sheet that displays full event details including title, category badge,\n * description, date/time, location, attendees, and a delete action.\n * Built on top of the Sheet component.\n *\n * @example\n * ```tsx\n * <CalendarEventSheet\n * event={selectedEvent}\n * open={sheetOpen}\n * onOpenChange={setSheetOpen}\n * onDelete={(id) => removeEvent(id)}\n * />\n * ```\n */\nexport function CalendarEventSheet({\n event,\n open,\n onOpenChange,\n onDelete,\n categoryLabel,\n categoryStyles,\n labels: labelsProp,\n}: CalendarEventSheetProps) {\n const labels = { ...defaultLabels, ...labelsProp };\n\n if (!event) return null;\n\n const timeDisplay = event.allDay\n ? labels.allDay\n : `${format(event.start, 'HH:mm')} - ${format(event.end, 'HH:mm')}`;\n\n return (\n <Sheet open={open} onOpenChange={onOpenChange}>\n <SheetContent className=\"sm:max-w-md\">\n <SheetHeader>\n <SheetTitle>{event.title}</SheetTitle>\n </SheetHeader>\n <div className=\"mt-4 space-y-4\">\n <CalendarCategoryBadge\n category={event.category}\n label={categoryLabel}\n styles={categoryStyles}\n />\n\n {event.description && (\n <p className=\"text-sm text-muted-foreground\">{event.description}</p>\n )}\n\n <Separator />\n\n <div className=\"space-y-3\">\n <div className=\"flex items-center gap-3 text-sm\">\n <Clock className=\"w-4 h-4 text-muted-foreground flex-shrink-0\" />\n <div>\n <p className=\"font-medium\">{format(event.start, 'EEEE, MMMM d, yyyy')}</p>\n <p className=\"text-muted-foreground\">{timeDisplay}</p>\n </div>\n </div>\n\n {event.location && (\n <div className=\"flex items-center gap-3 text-sm\">\n <MapPin className=\"w-4 h-4 text-muted-foreground flex-shrink-0\" />\n <span>{event.location}</span>\n </div>\n )}\n\n {event.attendees && event.attendees.length > 0 && (\n <div className=\"flex items-start gap-3 text-sm\">\n <Users className=\"w-4 h-4 text-muted-foreground flex-shrink-0 mt-0.5\" />\n <div>\n <p className=\"font-medium mb-1\">{labels.attendees}</p>\n <div className=\"space-y-1\">\n {event.attendees.map(email => (\n <p key={email} className=\"text-muted-foreground\">{email}</p>\n ))}\n </div>\n </div>\n </div>\n )}\n </div>\n\n <Separator />\n\n <div className=\"flex justify-end\">\n <Button\n variant=\"destructive\"\n size=\"sm\"\n onClick={() => {\n onDelete?.(event.id);\n onOpenChange(false);\n }}\n >\n <Trash2 className=\"w-4 h-4\" />\n {labels.delete}\n </Button>\n </div>\n </div>\n </SheetContent>\n </Sheet>\n );\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Checkbox } from '
|
|
2
|
-
import { Separator } from '
|
|
3
|
-
import { cn } from '
|
|
1
|
+
import { Checkbox } from '../../../chunk-W477ZR6B.js';
|
|
2
|
+
import { Separator } from '../../../chunk-KCUSO3CK.js';
|
|
3
|
+
import { cn } from '../../../chunk-DGPY4WP3.js';
|
|
4
4
|
import { useMemo } from 'react';
|
|
5
5
|
import { startOfMonth, endOfMonth, startOfWeek, endOfWeek, eachDayOfInterval, format, isSameMonth, isSameDay, isToday } from 'date-fns';
|
|
6
6
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/domain/calendar/calendar-mini.tsx"],"names":[],"mappings":"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","file":"calendar-mini.js","sourcesContent":["import { useMemo } from 'react';\nimport {\n startOfMonth, endOfMonth, startOfWeek, endOfWeek,\n eachDayOfInterval, isSameMonth, isSameDay, isToday, format,\n} from 'date-fns';\nimport { cn } from '../../../lib/utils';\nimport { Checkbox } from '../../inputs/checkbox';\nimport { Separator } from '../../display/separator';\n\n/** A category that can be toggled on/off in the mini calendar's filter section. */\nexport interface CalendarCategory {\n /** Unique key for this category. */\n key: string;\n /** CSS color string used for the category dot. */\n color: string;\n /** Display label for the category. */\n label: string;\n}\n\n/** Localizable labels for the mini calendar. All have English defaults. */\nexport interface CalendarMiniLabels {\n /** Label for Sunday column header. */\n sun?: string;\n /** Label for Monday column header. */\n mon?: string;\n /** Label for Tuesday column header. */\n tue?: string;\n /** Label for Wednesday column header. */\n wed?: string;\n /** Label for Thursday column header. */\n thu?: string;\n /** Label for Friday column header. */\n fri?: string;\n /** Label for Saturday column header. */\n sat?: string;\n /** Heading text for the categories filter section. */\n categories?: string;\n}\n\nconst defaultLabels: Required<CalendarMiniLabels> = {\n sun: 'Sun', mon: 'Mon', tue: 'Tue', wed: 'Wed', thu: 'Thu', fri: 'Fri', sat: 'Sat',\n categories: 'Categories',\n};\n\nexport interface CalendarMiniProps {\n /** The month to display (any date within the target month). */\n currentDate: Date;\n /** The currently selected date, highlighted with primary color. */\n selectedDate: Date;\n /** Callback when a day cell is clicked. */\n onSelectDate: (date: Date) => void;\n /** Optional list of event categories for the filter section. */\n categories?: CalendarCategory[];\n /** Keys of currently enabled categories. */\n enabledCategories?: string[];\n /** Callback when a category checkbox is toggled. */\n onToggleCategory?: (key: string) => void;\n /** Localizable UI labels with English defaults. */\n labels?: CalendarMiniLabels;\n}\n\n/**\n * Compact month calendar with optional category filters. Designed for sidebar\n * placement in calendar views. Locale-agnostic via the `labels` prop.\n *\n * @example\n * ```tsx\n * <CalendarMini\n * currentDate={new Date()}\n * selectedDate={selectedDate}\n * onSelectDate={setSelectedDate}\n * categories={[{ key: \"meeting\", color: \"#3b82f6\", label: \"Meeting\" }]}\n * enabledCategories={[\"meeting\"]}\n * onToggleCategory={(key) => toggle(key)}\n * />\n * ```\n */\nexport function CalendarMini({\n currentDate,\n selectedDate,\n onSelectDate,\n categories,\n enabledCategories,\n onToggleCategory,\n labels: labelsProp,\n}: CalendarMiniProps) {\n const labels = { ...defaultLabels, ...labelsProp };\n\n const days = useMemo(() => {\n const monthStart = startOfMonth(currentDate);\n const monthEnd = endOfMonth(currentDate);\n const calStart = startOfWeek(monthStart, { weekStartsOn: 0 });\n const calEnd = endOfWeek(monthEnd, { weekStartsOn: 0 });\n return eachDayOfInterval({ start: calStart, end: calEnd });\n }, [currentDate]);\n\n const weekDays = [labels.sun, labels.mon, labels.tue, labels.wed, labels.thu, labels.fri, labels.sat];\n\n return (\n <div className=\"space-y-4\">\n {/* Mini calendar */}\n <div>\n <p className=\"text-sm font-semibold mb-2\">{format(currentDate, 'MMMM yyyy')}</p>\n <div className=\"grid grid-cols-7 gap-0\">\n {weekDays.map(day => (\n <div key={day} className=\"text-center text-[10px] font-medium text-muted-foreground py-1\">\n {day}\n </div>\n ))}\n {days.map(day => {\n const inMonth = isSameMonth(day, currentDate);\n const selected = isSameDay(day, selectedDate);\n const today = isToday(day);\n return (\n <button\n key={day.toISOString()}\n type=\"button\"\n onClick={() => onSelectDate(day)}\n className={cn(\n 'w-7 h-7 text-[11px] rounded-full flex items-center justify-center transition-colors',\n !inMonth && 'text-muted-foreground/40',\n inMonth && !selected && 'hover:bg-accent',\n selected && 'bg-primary text-primary-foreground',\n today && !selected && 'font-bold text-primary',\n )}\n >\n {format(day, 'd')}\n </button>\n );\n })}\n </div>\n </div>\n\n {categories && categories.length > 0 && (\n <>\n <Separator />\n {/* Category filters */}\n <div>\n <p className=\"text-sm font-semibold mb-2\">{labels.categories}</p>\n <div className=\"space-y-1.5\">\n {categories.map(cat => (\n <label\n key={cat.key}\n className=\"flex items-center gap-2 py-1 px-1 rounded hover:bg-accent transition-colors cursor-pointer\"\n >\n <Checkbox\n checked={enabledCategories?.includes(cat.key) ?? false}\n onCheckedChange={() => onToggleCategory?.(cat.key)}\n />\n <div className=\"w-2.5 h-2.5 rounded-full\" style={{ backgroundColor: cat.color }} />\n <span className=\"text-sm\">{cat.label}</span>\n </label>\n ))}\n </div>\n </div>\n </>\n )}\n </div>\n );\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ToggleGroup, ToggleGroupItem } from '
|
|
2
|
-
import '
|
|
3
|
-
import { Button } from '
|
|
4
|
-
import '
|
|
1
|
+
import { ToggleGroup, ToggleGroupItem } from '../../../chunk-TPBRGO4D.js';
|
|
2
|
+
import '../../../chunk-ORTPKXBI.js';
|
|
3
|
+
import { Button } from '../../../chunk-BOV3Q2JH.js';
|
|
4
|
+
import '../../../chunk-DGPY4WP3.js';
|
|
5
5
|
import { format } from 'date-fns';
|
|
6
6
|
import { ChevronLeft, ChevronRight, Plus } from 'lucide-react';
|
|
7
7
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/domain/calendar/calendar-toolbar.tsx"],"names":[],"mappings":";;;;;;;;AAsBA,IAAM,aAAA,GAAiD;AAAA,EACrD,KAAA,EAAO,OAAA;AAAA,EACP,KAAA,EAAO,OAAA;AAAA,EACP,IAAA,EAAM,MAAA;AAAA,EACN,GAAA,EAAK,KAAA;AAAA,EACL,WAAA,EAAa;AACf,CAAA;AAyCO,SAAS,eAAA,CAAgB;AAAA,EAC9B,WAAA;AAAA,EACA,IAAA;AAAA,EACA,YAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA;AAAA,EACA,aAAA;AAAA,EACA,MAAA,EAAQ,UAAA;AAAA,EACR,WAAA,EAAa;AACf,CAAA,EAAyB;AACvB,EAAA,MAAM,MAAA,GAAS,EAAE,GAAG,aAAA,EAAe,GAAG,UAAA,EAAW;AAEjD,EAAA,MAAM,WAAA,GAAc,eAAA,KAAoB,IAAA,KAAS,KAAA,GAC7C,oBAAA,GACA,WAAA,CAAA;AAEJ,EAAA,uBACE,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,mDAAA,EACb,QAAA,EAAA;AAAA,oBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,yBAAA,EACb,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,MAAA,EAAA,EAAO,SAAQ,SAAA,EAAU,IAAA,EAAK,MAAK,OAAA,EAAS,OAAA,EAC1C,iBAAO,KAAA,EACV,CAAA;AAAA,sBACA,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,mBAAA,EACb,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,MAAA,EAAA,EAAO,OAAA,EAAQ,OAAA,EAAQ,IAAA,EAAK,MAAA,EAAO,SAAA,EAAU,SAAA,EAAU,OAAA,EAAS,MAAA,EAC/D,QAAA,kBAAA,GAAA,CAAC,WAAA,EAAA,EAAY,SAAA,EAAU,WAAU,CAAA,EACnC,CAAA;AAAA,wBACA,GAAA,CAAC,MAAA,EAAA,EAAO,OAAA,EAAQ,OAAA,EAAQ,MAAK,MAAA,EAAO,SAAA,EAAU,SAAA,EAAU,OAAA,EAAS,MAAA,EAC/D,QAAA,kBAAA,GAAA,CAAC,YAAA,EAAA,EAAa,SAAA,EAAU,WAAU,CAAA,EACpC;AAAA,OAAA,EACF,CAAA;AAAA,0BACC,IAAA,EAAA,EAAG,SAAA,EAAU,yBAAyB,QAAA,EAAA,MAAA,CAAO,WAAA,EAAa,WAAW,CAAA,EAAE;AAAA,KAAA,EAC1E,CAAA;AAAA,oBAEA,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,yBAAA,EACb,QAAA,EAAA;AAAA,sBAAA,IAAA,CAAC,WAAA,EAAA,EAAY,IAAA,EAAK,QAAA,EAAS,KAAA,EAAO,IAAA,EAAM,eAAe,CAAA,GAAA,KAAO,GAAA,IAAO,YAAA,CAAa,GAAmB,CAAA,EACnG,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,mBAAgB,KAAA,EAAM,OAAA,EAAQ,IAAA,EAAK,IAAA,EAAM,iBAAO,KAAA,EAAM,CAAA;AAAA,4BACtD,eAAA,EAAA,EAAgB,KAAA,EAAM,QAAO,IAAA,EAAK,IAAA,EAAM,iBAAO,IAAA,EAAK,CAAA;AAAA,4BACpD,eAAA,EAAA,EAAgB,KAAA,EAAM,OAAM,IAAA,EAAK,IAAA,EAAM,iBAAO,GAAA,EAAI;AAAA,OAAA,EACrD,CAAA;AAAA,MACC,iCACC,IAAA,CAAC,MAAA,EAAA,EAAO,IAAA,EAAK,IAAA,EAAK,SAAS,aAAA,EACzB,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,IAAA,EAAA,EAAK,WAAU,SAAA,EAAU,CAAA;AAAA,QACzB,MAAA,CAAO;AAAA,OAAA,EACV;AAAA,KAAA,EAEJ;AAAA,GAAA,EACF,CAAA;AAEJ","file":"calendar-toolbar.js","sourcesContent":["import { format } from 'date-fns';\nimport { ChevronLeft, ChevronRight, Plus } from 'lucide-react';\nimport { Button } from '../../inputs/button';\nimport { ToggleGroup, ToggleGroupItem } from '../../display/toggle-group';\n\n/** Supported calendar view modes. */\nexport type CalendarView = 'month' | 'week' | 'day';\n\n/** Localizable labels for the calendar toolbar. All have English defaults. */\nexport interface CalendarToolbarLabels {\n /** Label for the \"Today\" button. */\n today?: string;\n /** Label for the \"Month\" view toggle. */\n month?: string;\n /** Label for the \"Week\" view toggle. */\n week?: string;\n /** Label for the \"Day\" view toggle. */\n day?: string;\n /** Label for the \"Create Event\" button. */\n createEvent?: string;\n}\n\nconst defaultLabels: Required<CalendarToolbarLabels> = {\n today: 'Today',\n month: 'Month',\n week: 'Week',\n day: 'Day',\n createEvent: 'Create Event',\n};\n\nexport interface CalendarToolbarProps {\n /** The date currently being viewed. Used for the title display. */\n currentDate: Date;\n /** The active calendar view mode. */\n view: CalendarView;\n /** Callback when the user switches between month/week/day views. */\n onViewChange: (view: CalendarView) => void;\n /** Navigate to the previous period. */\n onPrev: () => void;\n /** Navigate to the next period. */\n onNext: () => void;\n /** Navigate to today. */\n onToday: () => void;\n /** Optional callback for the \"Create Event\" button. Button is hidden when omitted. */\n onCreateEvent?: () => void;\n /** Localizable UI labels with English defaults. */\n labels?: CalendarToolbarLabels;\n /** date-fns format string for the title. Defaults to `\"MMMM yyyy\"` or `\"EEEE, MMMM d, yyyy\"` for day view. */\n titleFormat?: string;\n}\n\n/**\n * Toolbar for calendar views with navigation controls (prev/next/today),\n * view mode toggle (month/week/day), and an optional \"Create Event\" button.\n * Locale-agnostic via the `labels` prop.\n *\n * @example\n * ```tsx\n * <CalendarToolbar\n * currentDate={currentDate}\n * view=\"month\"\n * onViewChange={setView}\n * onPrev={handlePrev}\n * onNext={handleNext}\n * onToday={handleToday}\n * onCreateEvent={() => setDialogOpen(true)}\n * />\n * ```\n */\nexport function CalendarToolbar({\n currentDate,\n view,\n onViewChange,\n onPrev,\n onNext,\n onToday,\n onCreateEvent,\n labels: labelsProp,\n titleFormat: titleFormatProp,\n}: CalendarToolbarProps) {\n const labels = { ...defaultLabels, ...labelsProp };\n\n const titleFormat = titleFormatProp ?? (view === 'day'\n ? 'EEEE, MMMM d, yyyy'\n : 'MMMM yyyy');\n\n return (\n <div className=\"flex items-center justify-between gap-4 flex-wrap\">\n <div className=\"flex items-center gap-2\">\n <Button variant=\"outline\" size=\"sm\" onClick={onToday}>\n {labels.today}\n </Button>\n <div className=\"flex items-center\">\n <Button variant=\"ghost\" size=\"icon\" className=\"w-8 h-8\" onClick={onPrev}>\n <ChevronLeft className=\"w-4 h-4\" />\n </Button>\n <Button variant=\"ghost\" size=\"icon\" className=\"w-8 h-8\" onClick={onNext}>\n <ChevronRight className=\"w-4 h-4\" />\n </Button>\n </div>\n <h2 className=\"text-lg font-semibold\">{format(currentDate, titleFormat)}</h2>\n </div>\n\n <div className=\"flex items-center gap-2\">\n <ToggleGroup type=\"single\" value={view} onValueChange={val => val && onViewChange(val as CalendarView)}>\n <ToggleGroupItem value=\"month\" size=\"sm\">{labels.month}</ToggleGroupItem>\n <ToggleGroupItem value=\"week\" size=\"sm\">{labels.week}</ToggleGroupItem>\n <ToggleGroupItem value=\"day\" size=\"sm\">{labels.day}</ToggleGroupItem>\n </ToggleGroup>\n {onCreateEvent && (\n <Button size=\"sm\" onClick={onCreateEvent}>\n <Plus className=\"w-4 h-4\" />\n {labels.createEvent}\n </Button>\n )}\n </div>\n </div>\n );\n}\n"]}
|
|
@@ -2,7 +2,7 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
|
2
2
|
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import { VariantProps } from 'class-variance-authority';
|
|
5
|
-
import { UIColor } from '
|
|
5
|
+
import { UIColor } from '../../lib/types.js';
|
|
6
6
|
|
|
7
7
|
declare const alertVariants: (props?: ({
|
|
8
8
|
variant?: "destructive" | "default" | "soft" | null | undefined;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { VariantProps } from 'class-variance-authority';
|
|
4
|
-
import { UIColor } from '
|
|
4
|
+
import { UIColor } from '../../lib/types.js';
|
|
5
5
|
|
|
6
6
|
declare const buttonVariants: (props?: ({
|
|
7
|
-
variant?: "
|
|
7
|
+
variant?: "destructive" | "default" | "secondary" | "outline" | "soft" | "ghost" | "link" | null | undefined;
|
|
8
8
|
color?: "primary" | "destructive" | "success" | "warning" | "info" | null | undefined;
|
|
9
9
|
size?: "default" | "xs" | "sm" | "lg" | "xl" | "icon" | null | undefined;
|
|
10
10
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { ColorPicker } from '../../chunk-TLQE77WF.js';
|
|
2
|
+
import '../../chunk-HXMY2NQ3.js';
|
|
3
|
+
import '../../chunk-5K6RO5R3.js';
|
|
4
|
+
import '../../chunk-YU55YBID.js';
|
|
5
|
+
import '../../chunk-7NMNLY7F.js';
|
|
6
|
+
import '../../chunk-BOV3Q2JH.js';
|
|
7
|
+
import '../../chunk-DGPY4WP3.js';
|
|
8
|
+
//# sourceMappingURL=color-picker.js.map
|
|
9
|
+
//# sourceMappingURL=color-picker.js.map
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { Combobox, MultiCombobox } from '../../chunk-3V6NS4EQ.js';
|
|
2
|
+
import '../../chunk-MVYSUWSD.js';
|
|
3
|
+
import '../../chunk-YVCLIOMM.js';
|
|
4
|
+
import '../../chunk-7NMNLY7F.js';
|
|
5
|
+
import '../../chunk-BOV3Q2JH.js';
|
|
6
|
+
import '../../chunk-DGPY4WP3.js';
|
|
7
|
+
//# sourceMappingURL=combobox.js.map
|
|
8
|
+
//# sourceMappingURL=combobox.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Popover, PopoverTrigger, PopoverContent } from '
|
|
2
|
-
import { Calendar as Calendar$1 } from '
|
|
3
|
-
import { Button } from '
|
|
4
|
-
import { cn } from '
|
|
1
|
+
import { Popover, PopoverTrigger, PopoverContent } from '../../chunk-7NMNLY7F.js';
|
|
2
|
+
import { Calendar as Calendar$1 } from '../../chunk-KJAXKHJ2.js';
|
|
3
|
+
import { Button } from '../../chunk-BOV3Q2JH.js';
|
|
4
|
+
import { cn } from '../../chunk-DGPY4WP3.js';
|
|
5
5
|
import { format } from 'date-fns';
|
|
6
6
|
import { Calendar } from 'lucide-react';
|
|
7
7
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/inputs/date-picker.tsx"],"names":["CalendarIcon","Calendar"],"mappings":"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","file":"date-picker.js","sourcesContent":["import { format } from \"date-fns\";\nimport { Calendar as CalendarIcon } from \"lucide-react\";\nimport type { Locale } from \"date-fns\";\n\nimport { cn } from \"../../lib/utils\";\nimport { Button } from \"./button\";\nimport { Calendar } from \"../domain/calendar/calendar\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"../overlay/popover\";\n\ninterface DatePickerProps {\n /** Currently selected date. */\n value?: Date;\n /** Callback fired when a date is selected or cleared. */\n onChange?: (date: Date | undefined) => void;\n /** Placeholder text shown when no date is selected. */\n placeholder?: string;\n /** Additional CSS class for the trigger button. */\n className?: string;\n /** Whether the date picker is disabled. */\n disabled?: boolean;\n /** date-fns Locale object for date formatting (e.g., `ja` for Japanese). */\n locale?: Locale;\n}\n\n/**\n * Single date picker with a calendar popover.\n * Displays the selected date formatted with date-fns and opens a calendar on click.\n *\n * @example\n * ```tsx\n * const [date, setDate] = useState<Date>();\n *\n * <DatePicker\n * value={date}\n * onChange={setDate}\n * placeholder=\"Pick a date\"\n * />\n * ```\n */\nexport function DatePicker({\n value,\n onChange,\n placeholder = \"Select date\",\n className,\n disabled,\n locale,\n}: DatePickerProps) {\n return (\n <Popover>\n <PopoverTrigger asChild>\n <Button\n variant=\"outline\"\n disabled={disabled}\n className={cn(\n \"w-full justify-start text-left font-normal\",\n !value && \"text-muted-foreground\",\n className\n )}\n >\n <CalendarIcon className=\"mr-2 h-4 w-4\" />\n {value ? format(value, \"PPP\", locale ? { locale } : undefined) : <span>{placeholder}</span>}\n </Button>\n </PopoverTrigger>\n <PopoverContent className=\"w-auto p-0\" align=\"start\">\n <Calendar\n mode=\"single\"\n selected={value}\n onSelect={onChange}\n autoFocus\n />\n </PopoverContent>\n </Popover>\n );\n}\n\ninterface DateRangePickerProps {\n /** Currently selected date range with `from` and optional `to`. */\n value?: { from: Date | undefined; to?: Date | undefined };\n /** Callback fired when the date range changes. */\n onChange?: (range: { from: Date | undefined; to?: Date | undefined } | undefined) => void;\n /** Placeholder text shown when no range is selected. */\n placeholder?: string;\n /** Additional CSS class for the trigger button. */\n className?: string;\n /** Whether the date range picker is disabled. */\n disabled?: boolean;\n /** date-fns Locale object for date formatting (e.g., `ja` for Japanese). */\n locale?: Locale;\n}\n\n/**\n * Date range picker with a two-month calendar popover.\n * Allows selecting a start and end date displayed as a range string.\n *\n * @example\n * ```tsx\n * const [range, setRange] = useState<{ from: Date | undefined; to?: Date }>();\n *\n * <DateRangePicker\n * value={range}\n * onChange={setRange}\n * placeholder=\"Select date range\"\n * />\n * ```\n */\nexport function DateRangePicker({\n value,\n onChange,\n placeholder = \"Select date range\",\n className,\n disabled,\n locale,\n}: DateRangePickerProps) {\n return (\n <Popover>\n <PopoverTrigger asChild>\n <Button\n variant=\"outline\"\n disabled={disabled}\n className={cn(\n \"w-full justify-start text-left font-normal\",\n !value && \"text-muted-foreground\",\n className\n )}\n >\n <CalendarIcon className=\"mr-2 h-4 w-4\" />\n {value?.from ? (\n value.to ? (\n <>\n {format(value.from, \"PPP\", locale ? { locale } : undefined)} -{\" \"}\n {format(value.to, \"PPP\", locale ? { locale } : undefined)}\n </>\n ) : (\n format(value.from, \"PPP\", locale ? { locale } : undefined)\n )\n ) : (\n <span>{placeholder}</span>\n )}\n </Button>\n </PopoverTrigger>\n <PopoverContent className=\"w-auto p-0\" align=\"start\">\n <Calendar\n mode=\"range\"\n selected={value}\n onSelect={onChange}\n numberOfMonths={2}\n autoFocus\n />\n </PopoverContent>\n </Popover>\n );\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Label } from '
|
|
2
|
-
import { cn } from '
|
|
1
|
+
import { Label } from '../../chunk-EYJ7TJIX.js';
|
|
2
|
+
import { cn } from '../../chunk-DGPY4WP3.js';
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import { Slot } from '@radix-ui/react-slot';
|
|
5
5
|
import { FormProvider, Controller, useFormContext, useFormState } from 'react-hook-form';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/inputs/form.tsx"],"names":[],"mappings":"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","file":"form.js","sourcesContent":["import * as React from \"react\";\nimport * as LabelPrimitive from \"@radix-ui/react-label\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport {\n Controller,\n FormProvider,\n useFormContext,\n useFormState,\n type ControllerProps,\n type FieldPath,\n type FieldValues,\n} from \"react-hook-form\";\n\nimport { cn } from \"../../lib/utils\";\nimport { Label } from \"./label\";\n\n/**\n * Form provider component built on react-hook-form's FormProvider.\n * Wraps form fields and provides form context for validation, error display, and accessibility.\n *\n * @example\n * ```tsx\n * const form = useForm({ defaultValues: { email: \"\" } });\n *\n * <Form {...form}>\n * <form onSubmit={form.handleSubmit(onSubmit)}>\n * <FormField\n * control={form.control}\n * name=\"email\"\n * render={({ field }) => (\n * <FormItem>\n * <FormLabel>Email</FormLabel>\n * <FormControl>\n * <Input placeholder=\"you@example.com\" {...field} />\n * </FormControl>\n * <FormDescription>Your work email address.</FormDescription>\n * <FormMessage />\n * </FormItem>\n * )}\n * />\n * <Button type=\"submit\">Submit</Button>\n * </form>\n * </Form>\n * ```\n */\nconst Form = FormProvider;\n\ntype FormFieldContextValue<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n> = {\n name: TName;\n};\n\nconst FormFieldContext = React.createContext<FormFieldContextValue>(\n {} as FormFieldContextValue,\n);\n\n/** Connects a form field to react-hook-form's Controller and provides field context. */\nconst FormField = <\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n>({\n ...props\n}: ControllerProps<TFieldValues, TName>) => {\n return (\n <FormFieldContext.Provider value={{ name: props.name }}>\n <Controller {...props} />\n </FormFieldContext.Provider>\n );\n};\n\n/**\n * Hook that returns field state, IDs, and error information for the current form field.\n * Must be used within a `FormField` component.\n */\nconst useFormField = () => {\n const fieldContext = React.useContext(FormFieldContext);\n const itemContext = React.useContext(FormItemContext);\n const { getFieldState } = useFormContext();\n const formState = useFormState({ name: fieldContext.name });\n const fieldState = getFieldState(fieldContext.name, formState);\n\n if (!fieldContext) {\n throw new Error(\"useFormField should be used within <FormField>\");\n }\n\n const { id } = itemContext;\n\n return {\n id,\n name: fieldContext.name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState,\n };\n};\n\ntype FormItemContextValue = {\n id: string;\n};\n\nconst FormItemContext = React.createContext<FormItemContextValue>(\n {} as FormItemContextValue,\n);\n\n/** Container for a single form field, grouping label, control, description, and message. */\nfunction FormItem({ className, ...props }: React.ComponentProps<\"div\">) {\n const id = React.useId();\n\n return (\n <FormItemContext.Provider value={{ id }}>\n <div\n data-slot=\"form-item\"\n className={cn(\"grid gap-2\", className)}\n {...props}\n />\n </FormItemContext.Provider>\n );\n}\n\n/** Label for a form field that turns red on validation error. */\nfunction FormLabel({\n className,\n ...props\n}: React.ComponentProps<typeof LabelPrimitive.Root>) {\n const { error, formItemId } = useFormField();\n\n return (\n <Label\n data-slot=\"form-label\"\n data-error={!!error}\n className={cn(\"data-[error=true]:text-destructive\", className)}\n htmlFor={formItemId}\n {...props}\n />\n );\n}\n\n/** Slot wrapper that wires up aria attributes for the form control. */\nfunction FormControl({ ...props }: React.ComponentProps<typeof Slot>) {\n const { error, formItemId, formDescriptionId, formMessageId } =\n useFormField();\n\n return (\n <Slot\n data-slot=\"form-control\"\n id={formItemId}\n aria-describedby={\n !error\n ? `${formDescriptionId}`\n : `${formDescriptionId} ${formMessageId}`\n }\n aria-invalid={!!error}\n {...props}\n />\n );\n}\n\n/** Helper text displayed below the form control. */\nfunction FormDescription({ className, ...props }: React.ComponentProps<\"p\">) {\n const { formDescriptionId } = useFormField();\n\n return (\n <p\n data-slot=\"form-description\"\n id={formDescriptionId}\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n );\n}\n\n/** Displays the validation error message for the form field. */\nfunction FormMessage({ className, ...props }: React.ComponentProps<\"p\">) {\n const { error, formMessageId } = useFormField();\n const body = error ? String(error?.message ?? \"\") : props.children;\n\n if (!body) {\n return null;\n }\n\n return (\n <p\n data-slot=\"form-message\"\n id={formMessageId}\n className={cn(\"text-destructive text-sm\", className)}\n {...props}\n >\n {body}\n </p>\n );\n}\n\nexport {\n useFormField,\n Form,\n FormItem,\n FormLabel,\n FormControl,\n FormDescription,\n FormMessage,\n FormField,\n};"]}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { VariantProps } from 'class-variance-authority';
|
|
4
|
+
import { TranslatableConfig, TranslatableValue } from '../../providers/ui-provider.js';
|
|
5
|
+
import 'react/jsx-runtime';
|
|
6
|
+
|
|
7
|
+
declare const inputVariants: (props?: ({
|
|
8
|
+
size?: "default" | "xs" | "sm" | "lg" | "xl" | null | undefined;
|
|
9
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
10
|
+
type InputSize = VariantProps<typeof inputVariants>['size'];
|
|
11
|
+
type NativeInputProps = Omit<React.ComponentProps<'input'>, 'value' | 'onChange' | 'size'>;
|
|
12
|
+
interface StandardInputProps extends NativeInputProps {
|
|
13
|
+
size?: InputSize;
|
|
14
|
+
/** Translatable mode disabled (default). */
|
|
15
|
+
translatable?: never;
|
|
16
|
+
value?: string;
|
|
17
|
+
onChange?: React.ChangeEventHandler<HTMLInputElement>;
|
|
18
|
+
}
|
|
19
|
+
interface TranslatableInputProps extends NativeInputProps {
|
|
20
|
+
size?: InputSize;
|
|
21
|
+
/**
|
|
22
|
+
* Enable locale-switching tabs on this input.
|
|
23
|
+
* - `true` — inherit UIProvider's locale config
|
|
24
|
+
* - `object` — override locales/defaultLocale/fallbackLocale per field
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```tsx
|
|
28
|
+
* // Uses UIProvider config
|
|
29
|
+
* <Input translatable value={val} onChange={setVal} />
|
|
30
|
+
*
|
|
31
|
+
* // Custom per-field config
|
|
32
|
+
* <Input
|
|
33
|
+
* translatable={{ locales: { en: 'English', vi: 'Tiếng Việt' }, fallbackLocale: 'en' }}
|
|
34
|
+
* value={val}
|
|
35
|
+
* onChange={setVal}
|
|
36
|
+
* />
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
translatable: TranslatableConfig;
|
|
40
|
+
value?: TranslatableValue;
|
|
41
|
+
onChange?: (value: TranslatableValue) => void;
|
|
42
|
+
/**
|
|
43
|
+
* Per-locale validation errors. Truthy string = that locale is invalid.
|
|
44
|
+
* The active locale's error is forwarded as `aria-invalid` on the input;
|
|
45
|
+
* all locale tabs with errors show a red dot indicator.
|
|
46
|
+
*
|
|
47
|
+
* @example `{ en: 'Required', vi: 'Too long (120/100)' }`
|
|
48
|
+
*/
|
|
49
|
+
errors?: Partial<Record<string, string>>;
|
|
50
|
+
}
|
|
51
|
+
type InputProps = StandardInputProps | TranslatableInputProps;
|
|
52
|
+
/**
|
|
53
|
+
* Text input component with multiple size variants.
|
|
54
|
+
* Supports translatable mode via the `translatable` prop.
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* ```tsx
|
|
58
|
+
* // Standard
|
|
59
|
+
* <Input placeholder="Enter text..." />
|
|
60
|
+
* <Input size="sm" value={val} onChange={(e) => setVal(e.target.value)} />
|
|
61
|
+
*
|
|
62
|
+
* // Translatable — uses UIProvider's locale config
|
|
63
|
+
* <Input translatable value={val} onChange={setVal} />
|
|
64
|
+
*
|
|
65
|
+
* // Translatable — custom config
|
|
66
|
+
* <Input
|
|
67
|
+
* translatable={{ locales: { en: 'English', vi: 'Tiếng Việt' }, fallbackLocale: 'en' }}
|
|
68
|
+
* value={val}
|
|
69
|
+
* onChange={setVal}
|
|
70
|
+
* />
|
|
71
|
+
* ```
|
|
72
|
+
*/
|
|
73
|
+
declare const Input: React.ForwardRefExoticComponent<(Omit<StandardInputProps, "ref"> | Omit<TranslatableInputProps, "ref">) & React.RefAttributes<HTMLInputElement>>;
|
|
74
|
+
|
|
75
|
+
export { Input, type InputProps, inputVariants };
|
|
@@ -2,6 +2,8 @@ import * as React from 'react';
|
|
|
2
2
|
import { VariantProps } from 'class-variance-authority';
|
|
3
3
|
import { inputVariants } from './input.js';
|
|
4
4
|
import 'class-variance-authority/types';
|
|
5
|
+
import '../../providers/ui-provider.js';
|
|
6
|
+
import 'react/jsx-runtime';
|
|
5
7
|
|
|
6
8
|
interface PasswordInputProps extends Omit<React.ComponentProps<"input">, "type" | "size">, VariantProps<typeof inputVariants> {
|
|
7
9
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { PasswordInput } from '../../chunk-UTF42GJR.js';
|
|
2
|
+
import '../../chunk-HXMY2NQ3.js';
|
|
3
|
+
import '../../chunk-5K6RO5R3.js';
|
|
4
|
+
import '../../chunk-YU55YBID.js';
|
|
5
|
+
import '../../chunk-DGPY4WP3.js';
|
|
6
|
+
//# sourceMappingURL=password-input.js.map
|
|
7
|
+
//# sourceMappingURL=password-input.js.map
|