@omnifyjp/ui 1.0.2 → 2.0.1
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-75WZR6HF.js → chunk-4AGNE75K.js} +4 -4
- package/dist/chunk-4AGNE75K.js.map +1 -0
- package/dist/chunk-4NBDYSSQ.js +90 -0
- package/dist/chunk-4NBDYSSQ.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-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-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-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-7XH3MGBR.js → chunk-EBV2XEHD.js} +5 -5
- package/dist/chunk-EBV2XEHD.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-WS6E7HBT.js → chunk-HDTHGIQR.js} +3 -3
- package/dist/chunk-HDTHGIQR.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-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-NU56GKGM.js → chunk-ORTPKXBI.js} +2 -2
- package/dist/chunk-ORTPKXBI.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-ZPMXRW2A.js → chunk-TPBRGO4D.js} +3 -3
- package/dist/chunk-TPBRGO4D.js.map +1 -0
- package/dist/{chunk-MJLFJPUG.js → chunk-V3S2AZKJ.js} +5 -5
- package/dist/chunk-V3S2AZKJ.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-VPTIRPZW.js +75 -0
- package/dist/chunk-VPTIRPZW.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-YN26HHZ4.js +71 -0
- package/dist/chunk-YN26HHZ4.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/chunk-ZUBW2ERW.js +70 -0
- package/dist/chunk-ZUBW2ERW.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.d.ts → domain/calendar/calendar-event-sheet.d.ts} +4 -1
- package/dist/components/{calendar-event-sheet.js → domain/calendar/calendar-event-sheet.js} +12 -8
- package/dist/components/domain/calendar/calendar-event-sheet.js.map +1 -0
- package/dist/components/{calendar-mini.d.ts → domain/calendar/calendar-mini.d.ts} +4 -1
- package/dist/components/{calendar-mini.js → domain/calendar/calendar-mini.js} +9 -5
- package/dist/components/domain/calendar/calendar-mini.js.map +1 -0
- package/dist/components/{calendar-toolbar.d.ts → domain/calendar/calendar-toolbar.d.ts} +4 -1
- package/dist/components/{calendar-toolbar.js → domain/calendar/calendar-toolbar.js} +10 -6
- 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.d.ts → inputs/date-picker.d.ts} +2 -2
- package/dist/components/{date-picker.js → inputs/date-picker.js} +15 -8
- 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 +96 -0
- package/dist/providers/ui-provider.js +3 -0
- package/dist/providers/ui-provider.js.map +1 -0
- package/package.json +13 -8
- 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.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/{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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/inputs/select.tsx"],"names":[],"mappings":"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","file":"chunk-LTGCKJX7.js","sourcesContent":["import * as React from \"react\";\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport {\n CheckIcon,\n ChevronDownIcon,\n ChevronUpIcon,\n} from \"lucide-react\";\n\nimport { cn } from \"../../lib/utils\";\n\n/**\n * Select dropdown component built on Radix UI Select.\n * Provides a styled, accessible dropdown for selecting a single value from a list.\n *\n * @example\n * ```tsx\n * <Select value={value} onValueChange={setValue}>\n * <SelectTrigger>\n * <SelectValue placeholder=\"Choose...\" />\n * </SelectTrigger>\n * <SelectContent>\n * <SelectGroup>\n * <SelectLabel>Fruits</SelectLabel>\n * <SelectItem value=\"apple\">Apple</SelectItem>\n * <SelectItem value=\"banana\">Banana</SelectItem>\n * </SelectGroup>\n * <SelectSeparator />\n * <SelectGroup>\n * <SelectLabel>Vegetables</SelectLabel>\n * <SelectItem value=\"carrot\">Carrot</SelectItem>\n * </SelectGroup>\n * </SelectContent>\n * </Select>\n * ```\n */\nfunction Select({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Root>) {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />;\n}\n\n/** Groups related select items under an optional label. */\nfunction SelectGroup({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Group>) {\n return <SelectPrimitive.Group data-slot=\"select-group\" {...props} />;\n}\n\n/** Displays the currently selected value or a placeholder. */\nfunction SelectValue({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Value>) {\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} />;\n}\n\n/** Button that toggles the select dropdown open/closed. */\nconst SelectTrigger = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger> & {\n size?: \"sm\" | \"default\";\n }\n>(({ className, size = \"default\", children, ...props }, ref) => {\n return (\n <SelectPrimitive.Trigger\n ref={ref}\n data-slot=\"select-trigger\"\n data-size={size}\n className={cn(\n \"border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-full items-center justify-between gap-2 rounded-md border bg-input-background px-3 py-2 text-sm whitespace-nowrap transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-element data-[size=sm]:h-element-sm *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDownIcon className=\"size-4 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n );\n});\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName;\n\n/** Dropdown content container rendered in a portal. */\nfunction SelectContent({\n className,\n children,\n position = \"popper\",\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Content>) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n data-slot=\"select-content\"\n className={cn(\n \"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md\",\n position === \"popper\" &&\n \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n className,\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n \"p-1\",\n position === \"popper\" &&\n \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1\",\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n );\n}\n\n/** Non-interactive label rendered inside a SelectGroup. */\nfunction SelectLabel({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Label>) {\n return (\n <SelectPrimitive.Label\n data-slot=\"select-label\"\n className={cn(\"text-muted-foreground px-2 py-1.5 text-xs\", className)}\n {...props}\n />\n );\n}\n\n/** A selectable option within the dropdown. */\nfunction SelectItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Item>) {\n return (\n <SelectPrimitive.Item\n data-slot=\"select-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2\",\n className,\n )}\n {...props}\n >\n <span className=\"absolute right-2 flex size-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n );\n}\n\n/** Visual separator between select groups or items. */\nfunction SelectSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n return (\n <SelectPrimitive.Separator\n data-slot=\"select-separator\"\n className={cn(\"bg-border pointer-events-none -mx-1 my-1 h-px\", className)}\n {...props}\n />\n );\n}\n\n/** Scroll-up indicator shown when the list is scrollable. */\nfunction SelectScrollUpButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n return (\n <SelectPrimitive.ScrollUpButton\n data-slot=\"select-scroll-up-button\"\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className,\n )}\n {...props}\n >\n <ChevronUpIcon className=\"size-4\" />\n </SelectPrimitive.ScrollUpButton>\n );\n}\n\n/** Scroll-down indicator shown when the list is scrollable. */\nfunction SelectScrollDownButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {\n return (\n <SelectPrimitive.ScrollDownButton\n data-slot=\"select-scroll-down-button\"\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className,\n )}\n {...props}\n >\n <ChevronDownIcon className=\"size-4\" />\n </SelectPrimitive.ScrollDownButton>\n );\n}\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n};"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/display/scroll-area.tsx"],"names":[],"mappings":";;;;AAyBA,SAAS,UAAA,CAAW;AAAA,EAClB,SAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA0D;AACxD,EAAA,uBACE,IAAA;AAAA,IAAqB,mBAAA,CAAA,IAAA;AAAA,IAApB;AAAA,MACC,WAAA,EAAU,aAAA;AAAA,MACV,SAAA,EAAW,EAAA,CAAG,UAAA,EAAY,SAAS,CAAA;AAAA,MAClC,GAAG,KAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,wBAAA,GAAA;AAAA,UAAqB,mBAAA,CAAA,QAAA;AAAA,UAApB;AAAA,YACC,WAAA,EAAU,sBAAA;AAAA,YACV,SAAA,EAAU,oJAAA;AAAA,YAET;AAAA;AAAA,SACH;AAAA,4BACC,SAAA,EAAA,EAAU,CAAA;AAAA,wBACX,GAAA,CAAqB,4BAApB,EAA2B;AAAA;AAAA;AAAA,GAC9B;AAEJ;AAGA,SAAS,SAAA,CAAU;AAAA,EACjB,SAAA;AAAA,EACA,WAAA,GAAc,UAAA;AAAA,EACd,GAAG;AACL,CAAA,EAAyE;AACvE,EAAA,uBACE,GAAA;AAAA,IAAqB,mBAAA,CAAA,mBAAA;AAAA,IAApB;AAAA,MACC,WAAA,EAAU,uBAAA;AAAA,MACV,WAAA;AAAA,MACA,SAAA,EAAW,EAAA;AAAA,QACT,oDAAA;AAAA,QACA,gBAAgB,UAAA,IACd,4CAAA;AAAA,QACF,gBAAgB,YAAA,IACd,8CAAA;AAAA,QACF;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAA,GAAA;AAAA,QAAqB,mBAAA,CAAA,eAAA;AAAA,QAApB;AAAA,UACC,WAAA,EAAU,mBAAA;AAAA,UACV,SAAA,EAAU;AAAA;AAAA;AACZ;AAAA,GACF;AAEJ","file":"chunk-LUYTKHGS.js","sourcesContent":["import * as React from \"react\";\nimport * as ScrollAreaPrimitive from \"@radix-ui/react-scroll-area\";\n\nimport { cn } from \"../../lib/utils\";\n\n/**\n * Custom scrollable container with styled scrollbar built on Radix ScrollArea.\n *\n * Replaces native browser scrollbars with a thin, themed scrollbar.\n * Includes a vertical `ScrollBar` by default. Add a horizontal `ScrollBar`\n * as a child if needed.\n *\n * @example\n * ```tsx\n * <ScrollArea className=\"h-72 w-48 rounded-md border\">\n * <div className=\"p-4\">\n * {items.map((item) => (\n * <div key={item} className=\"py-2 text-sm\">\n * {item}\n * </div>\n * ))}\n * </div>\n * </ScrollArea>\n * ```\n */\nfunction ScrollArea({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof ScrollAreaPrimitive.Root>) {\n return (\n <ScrollAreaPrimitive.Root\n data-slot=\"scroll-area\"\n className={cn(\"relative\", className)}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport\n data-slot=\"scroll-area-viewport\"\n className=\"focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1\"\n >\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n );\n}\n\n/** Styled scrollbar track and thumb. Set `orientation` to `\"horizontal\"` or `\"vertical\"` (default). */\nfunction ScrollBar({\n className,\n orientation = \"vertical\",\n ...props\n}: React.ComponentProps<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>) {\n return (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n data-slot=\"scroll-area-scrollbar\"\n orientation={orientation}\n className={cn(\n \"flex touch-none p-px transition-colors select-none\",\n orientation === \"vertical\" &&\n \"h-full w-2.5 border-l border-l-transparent\",\n orientation === \"horizontal\" &&\n \"h-2.5 flex-col border-t border-t-transparent\",\n className,\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb\n data-slot=\"scroll-area-thumb\"\n className=\"bg-border relative flex-1 rounded-full\"\n />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n );\n}\n\nexport { ScrollArea, ScrollBar };"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Dialog, DialogHeader, DialogTitle, DialogDescription, DialogContent } from './chunk-
|
|
1
|
+
import { Dialog, DialogHeader, DialogTitle, DialogDescription, DialogContent } from './chunk-YVCLIOMM.js';
|
|
2
2
|
import { cn } from './chunk-DGPY4WP3.js';
|
|
3
3
|
import { Command as Command$1 } from 'cmdk';
|
|
4
4
|
import { SearchIcon } from 'lucide-react';
|
|
@@ -151,5 +151,5 @@ function CommandShortcut({
|
|
|
151
151
|
}
|
|
152
152
|
|
|
153
153
|
export { Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut };
|
|
154
|
-
//# sourceMappingURL=chunk-
|
|
155
|
-
//# sourceMappingURL=chunk-
|
|
154
|
+
//# sourceMappingURL=chunk-MVYSUWSD.js.map
|
|
155
|
+
//# sourceMappingURL=chunk-MVYSUWSD.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/navigation/command.tsx"],"names":["CommandPrimitive"],"mappings":"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","file":"chunk-MVYSUWSD.js","sourcesContent":["import * as React from \"react\";\nimport { Command as CommandPrimitive } from \"cmdk\";\nimport { SearchIcon } from \"lucide-react\";\n\nimport { cn } from \"../../lib/utils\";\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogHeader,\n DialogTitle,\n} from \"../overlay/dialog\";\n\n/**\n * Command palette component built on cmdk.\n *\n * Provides a searchable, keyboard-navigable list of commands or options.\n * Use `CommandDialog` for a modal command palette, or `Command` inline\n * for embedded search/filter interfaces like comboboxes.\n *\n * @example\n * ```tsx\n * <CommandDialog open={open} onOpenChange={setOpen}>\n * <CommandInput placeholder=\"Type a command or search...\" />\n * <CommandList>\n * <CommandEmpty>No results found.</CommandEmpty>\n * <CommandGroup heading=\"Suggestions\">\n * <CommandItem>\n * <CalendarIcon className=\"size-4\" />\n * Calendar\n * </CommandItem>\n * <CommandItem>\n * <SearchIcon className=\"size-4\" />\n * Search\n * <CommandShortcut>Ctrl+K</CommandShortcut>\n * </CommandItem>\n * </CommandGroup>\n * <CommandSeparator />\n * <CommandGroup heading=\"Settings\">\n * <CommandItem>\n * <SettingsIcon className=\"size-4\" />\n * Settings\n * </CommandItem>\n * </CommandGroup>\n * </CommandList>\n * </CommandDialog>\n * ```\n */\nfunction Command({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive>) {\n return (\n <CommandPrimitive\n data-slot=\"command\"\n className={cn(\n \"bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Modal wrapper that renders a Command palette inside a Dialog. Accepts optional `title` and `description` for accessibility. */\nfunction CommandDialog({\n title = \"Command Palette\",\n description = \"Search for a command to run...\",\n children,\n ...props\n}: React.ComponentProps<typeof Dialog> & {\n title?: string;\n description?: string;\n}) {\n return (\n <Dialog {...props}>\n <DialogHeader className=\"sr-only\">\n <DialogTitle>{title}</DialogTitle>\n <DialogDescription>{description}</DialogDescription>\n </DialogHeader>\n <DialogContent className=\"overflow-hidden p-0\">\n <Command className=\"[&_[cmdk-group-heading]]:text-muted-foreground **:data-[slot=command-input-wrapper]:h-12 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5\">\n {children}\n </Command>\n </DialogContent>\n </Dialog>\n );\n}\n\n/** Search input field with a magnifying glass icon for filtering command items. */\nfunction CommandInput({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Input>) {\n return (\n <div\n data-slot=\"command-input-wrapper\"\n className=\"flex h-9 items-center gap-2 border-b px-3\"\n >\n <SearchIcon className=\"size-4 shrink-0 opacity-50\" />\n <CommandPrimitive.Input\n data-slot=\"command-input\"\n className={cn(\n \"placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50\",\n className,\n )}\n {...props}\n />\n </div>\n );\n}\n\n/** Scrollable container for command groups and items. */\nfunction CommandList({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.List>) {\n return (\n <CommandPrimitive.List\n data-slot=\"command-list\"\n className={cn(\n \"max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Fallback content shown when no command items match the search query. */\nfunction CommandEmpty({\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Empty>) {\n return (\n <CommandPrimitive.Empty\n data-slot=\"command-empty\"\n className=\"py-6 text-center text-sm\"\n {...props}\n />\n );\n}\n\n/** Groups related command items under an optional heading. */\nfunction CommandGroup({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Group>) {\n return (\n <CommandPrimitive.Group\n data-slot=\"command-group\"\n className={cn(\n \"text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Visual divider between groups of command items. */\nfunction CommandSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Separator>) {\n return (\n <CommandPrimitive.Separator\n data-slot=\"command-separator\"\n className={cn(\"bg-border -mx-1 h-px\", className)}\n {...props}\n />\n );\n}\n\n/** Selectable command item that can be navigated with keyboard arrows and activated with Enter. */\nfunction CommandItem({\n className,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Item>) {\n return (\n <CommandPrimitive.Item\n data-slot=\"command-item\"\n className={cn(\n \"data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Keyboard shortcut hint displayed at the end of a command item. */\nfunction CommandShortcut({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"command-shortcut\"\n className={cn(\n \"text-muted-foreground ml-auto text-xs tracking-widest\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n Command,\n CommandDialog,\n CommandInput,\n CommandList,\n CommandEmpty,\n CommandGroup,\n CommandItem,\n CommandShortcut,\n CommandSeparator,\n};"]}
|
|
@@ -160,5 +160,5 @@ function NavigationMenuIndicator({
|
|
|
160
160
|
}
|
|
161
161
|
|
|
162
162
|
export { NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, navigationMenuTriggerStyle };
|
|
163
|
-
//# sourceMappingURL=chunk-
|
|
164
|
-
//# sourceMappingURL=chunk-
|
|
163
|
+
//# sourceMappingURL=chunk-N5BNNKBR.js.map
|
|
164
|
+
//# sourceMappingURL=chunk-N5BNNKBR.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/navigation/navigation-menu.tsx"],"names":[],"mappings":"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","file":"chunk-N5BNNKBR.js","sourcesContent":["import * as React from \"react\";\nimport * as NavigationMenuPrimitive from \"@radix-ui/react-navigation-menu\";\nimport { cva } from \"class-variance-authority\";\nimport { ChevronDownIcon } from \"lucide-react\";\n\nimport { cn } from \"../../lib/utils\";\n\n/**\n * Accessible navigation menu built on Radix UI NavigationMenu.\n *\n * Provides a horizontal navigation bar with dropdown content panels,\n * suitable for site-wide navigation with rich sub-menus. Set `viewport={false}`\n * to render content inline instead of in a shared viewport container.\n *\n * @example\n * ```tsx\n * <NavigationMenu>\n * <NavigationMenuList>\n * <NavigationMenuItem>\n * <NavigationMenuTrigger>Getting Started</NavigationMenuTrigger>\n * <NavigationMenuContent>\n * <ul className=\"grid gap-3 p-4 w-[400px]\">\n * <li>\n * <NavigationMenuLink href=\"/docs\">\n * <div className=\"font-medium\">Introduction</div>\n * <p className=\"text-muted-foreground\">\n * Learn the basics of the component library.\n * </p>\n * </NavigationMenuLink>\n * </li>\n * </ul>\n * </NavigationMenuContent>\n * </NavigationMenuItem>\n * <NavigationMenuItem>\n * <NavigationMenuLink\n * className={navigationMenuTriggerStyle()}\n * href=\"/docs\"\n * >\n * Documentation\n * </NavigationMenuLink>\n * </NavigationMenuItem>\n * </NavigationMenuList>\n * </NavigationMenu>\n * ```\n */\nfunction NavigationMenu({\n className,\n children,\n viewport = true,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Root> & {\n viewport?: boolean;\n}) {\n return (\n <NavigationMenuPrimitive.Root\n data-slot=\"navigation-menu\"\n data-viewport={viewport}\n className={cn(\n \"group/navigation-menu relative flex max-w-max flex-1 items-center justify-center\",\n className,\n )}\n {...props}\n >\n {children}\n {viewport && <NavigationMenuViewport />}\n </NavigationMenuPrimitive.Root>\n );\n}\n\n/** Horizontal list container for navigation menu items. */\nfunction NavigationMenuList({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.List>) {\n return (\n <NavigationMenuPrimitive.List\n data-slot=\"navigation-menu-list\"\n className={cn(\n \"group flex flex-1 list-none items-center justify-center gap-1\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Individual navigation menu item that can contain a trigger and content or a direct link. */\nfunction NavigationMenuItem({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Item>) {\n return (\n <NavigationMenuPrimitive.Item\n data-slot=\"navigation-menu-item\"\n className={cn(\"relative\", className)}\n {...props}\n />\n );\n}\n\n/** Shared style variant for navigation menu trigger buttons and standalone links. Apply with `className={navigationMenuTriggerStyle()}`. */\nconst navigationMenuTriggerStyle = cva(\n \"group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=open]:hover:bg-accent data-[state=open]:text-accent-foreground data-[state=open]:focus:bg-accent data-[state=open]:bg-accent/50 focus-visible:ring-ring/50 outline-none transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1\",\n);\n\n/** Button that opens the associated NavigationMenuContent dropdown. Displays a chevron indicator. */\nfunction NavigationMenuTrigger({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Trigger>) {\n return (\n <NavigationMenuPrimitive.Trigger\n data-slot=\"navigation-menu-trigger\"\n className={cn(navigationMenuTriggerStyle(), \"group\", className)}\n {...props}\n >\n {children}{\" \"}\n <ChevronDownIcon\n className=\"relative top-[1px] ml-1 size-3 transition duration-300 group-data-[state=open]:rotate-180\"\n aria-hidden=\"true\"\n />\n </NavigationMenuPrimitive.Trigger>\n );\n}\n\n/** Dropdown content panel revealed when a NavigationMenuTrigger is activated. */\nfunction NavigationMenuContent({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Content>) {\n return (\n <NavigationMenuPrimitive.Content\n data-slot=\"navigation-menu-content\"\n className={cn(\n \"data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 top-0 left-0 w-full p-2 pr-2.5 md:absolute md:w-auto\",\n \"group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground group-data-[viewport=false]/navigation-menu:data-[state=open]:animate-in group-data-[viewport=false]/navigation-menu:data-[state=closed]:animate-out group-data-[viewport=false]/navigation-menu:data-[state=closed]:zoom-out-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:zoom-in-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:fade-in-0 group-data-[viewport=false]/navigation-menu:data-[state=closed]:fade-out-0 group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-1.5 group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-md group-data-[viewport=false]/navigation-menu:border group-data-[viewport=false]/navigation-menu:shadow group-data-[viewport=false]/navigation-menu:duration-200 **:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-none\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Shared viewport container that displays the active NavigationMenuContent with animated transitions. */\nfunction NavigationMenuViewport({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Viewport>) {\n return (\n <div\n className={cn(\n \"absolute top-full left-0 isolate z-50 flex justify-center\",\n )}\n >\n <NavigationMenuPrimitive.Viewport\n data-slot=\"navigation-menu-viewport\"\n className={cn(\n \"origin-top-center bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border shadow md:w-[var(--radix-navigation-menu-viewport-width)]\",\n className,\n )}\n {...props}\n />\n </div>\n );\n}\n\n/** Accessible link element within navigation menu content. Supports `data-[active=true]` styling. */\nfunction NavigationMenuLink({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Link>) {\n return (\n <NavigationMenuPrimitive.Link\n data-slot=\"navigation-menu-link\"\n className={cn(\n \"data-[active=true]:focus:bg-accent data-[active=true]:hover:bg-accent data-[active=true]:bg-accent/50 data-[active=true]:text-accent-foreground hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus-visible:ring-ring/50 [&_svg:not([class*='text-'])]:text-muted-foreground flex flex-col gap-1 rounded-sm p-2 text-sm transition-all outline-none focus-visible:ring-[3px] focus-visible:outline-1 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Animated arrow indicator that tracks the active menu trigger position. */\nfunction NavigationMenuIndicator({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Indicator>) {\n return (\n <NavigationMenuPrimitive.Indicator\n data-slot=\"navigation-menu-indicator\"\n className={cn(\n \"data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden\",\n className,\n )}\n {...props}\n >\n <div className=\"bg-border relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm shadow-md\" />\n </NavigationMenuPrimitive.Indicator>\n );\n}\n\nexport {\n NavigationMenu,\n NavigationMenuList,\n NavigationMenuItem,\n NavigationMenuContent,\n NavigationMenuTrigger,\n NavigationMenuLink,\n NavigationMenuIndicator,\n NavigationMenuViewport,\n navigationMenuTriggerStyle,\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/inputs/rating.tsx"],"names":[],"mappings":"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","file":"chunk-N6OUJIQD.js","sourcesContent":["import * as React from \"react\";\nimport { Star } from \"lucide-react\";\nimport { cn } from \"../../lib/utils\";\n\ninterface RatingProps {\n /** Current rating value (e.g., `3` or `3.5` with half stars). */\n value?: number;\n /** Callback fired when the user clicks a star. Receives the new rating number. */\n onChange?: (value: number) => void;\n /** Maximum number of stars. Defaults to `5`. */\n max?: number;\n /** Size of the star icons. Defaults to `\"md\"`. */\n size?: \"sm\" | \"md\" | \"lg\";\n /** Whether the rating is display-only (non-interactive). Defaults to `false`. */\n readonly?: boolean;\n /** Whether half-star ratings are enabled. Defaults to `false`. */\n allowHalf?: boolean;\n /** Additional CSS class for the outer container. */\n className?: string;\n}\n\n/**\n * Star rating component with hover preview and optional half-star support.\n * Shows filled/empty/half star icons and displays the numeric value beside the stars.\n *\n * @example\n * ```tsx\n * const [rating, setRating] = useState(0);\n *\n * <Rating value={rating} onChange={setRating} max={5} />\n *\n * // Read-only display with half stars:\n * <Rating value={3.5} readonly allowHalf />\n * ```\n */\nexport function Rating({\n value = 0,\n onChange,\n max = 5,\n size = \"md\",\n readonly = false,\n allowHalf = false,\n className,\n}: RatingProps) {\n const [hoverValue, setHoverValue] = React.useState<number | null>(null);\n\n const sizeClasses = {\n sm: \"w-4 h-4\",\n md: \"w-5 h-5\",\n lg: \"w-6 h-6\",\n };\n\n const handleClick = (index: number, isHalf: boolean) => {\n if (readonly) return;\n const newValue = isHalf ? index + 0.5 : index + 1;\n onChange?.(newValue);\n };\n\n const handleMouseMove = (index: number, e: React.MouseEvent<HTMLButtonElement>) => {\n if (readonly || !allowHalf) return;\n\n const rect = e.currentTarget.getBoundingClientRect();\n const x = e.clientX - rect.left;\n const isHalf = x < rect.width / 2;\n\n setHoverValue(isHalf ? index + 0.5 : index + 1);\n };\n\n const handleMouseEnter = (index: number) => {\n if (readonly) return;\n if (!allowHalf) {\n setHoverValue(index + 1);\n }\n };\n\n const handleMouseLeave = () => {\n setHoverValue(null);\n };\n\n const getStarFill = (index: number) => {\n const currentValue = hoverValue !== null ? hoverValue : value;\n\n if (currentValue >= index + 1) {\n return \"full\";\n } else if (allowHalf && currentValue >= index + 0.5) {\n return \"half\";\n } else {\n return \"empty\";\n }\n };\n\n return (\n <div className={cn(\"flex items-center gap-1\", className)}>\n {Array.from({ length: max }).map((_, index) => {\n const fill = getStarFill(index);\n\n return (\n <button\n key={index}\n type=\"button\"\n onClick={(e) => {\n if (!allowHalf) {\n handleClick(index, false);\n return;\n }\n const rect = e.currentTarget.getBoundingClientRect();\n const x = e.clientX - rect.left;\n const isHalf = x < rect.width / 2;\n handleClick(index, isHalf);\n }}\n onMouseMove={(e) => handleMouseMove(index, e)}\n onMouseEnter={() => handleMouseEnter(index)}\n onMouseLeave={handleMouseLeave}\n disabled={readonly}\n className={cn(\n \"relative transition-transform hover:scale-110\",\n !readonly && \"cursor-pointer\",\n readonly && \"cursor-default\"\n )}\n >\n {fill === \"half\" ? (\n <div className=\"relative\">\n <Star\n className={cn(\n sizeClasses[size],\n \"text-muted-foreground/40\"\n )}\n />\n <div className=\"absolute inset-0 overflow-hidden w-1/2\">\n <Star\n className={cn(\n sizeClasses[size],\n \"text-yellow-400 fill-yellow-400\"\n )}\n />\n </div>\n </div>\n ) : (\n <Star\n className={cn(\n sizeClasses[size],\n fill === \"full\"\n ? \"text-yellow-400 fill-yellow-400\"\n : \"text-muted-foreground/40\"\n )}\n />\n )}\n </button>\n );\n })}\n\n {value > 0 && (\n <span className=\"ml-2 text-sm text-muted-foreground\">\n {value.toFixed(allowHalf ? 1 : 0)}\n </span>\n )}\n </div>\n );\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/feedback/progress.tsx"],"names":[],"mappings":";;;;AAmBA,SAAS,QAAA,CAAS;AAAA,EAChB,SAAA;AAAA,EACA,KAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAkB;AAChB,EAAA,uBACE,GAAA;AAAA,IAAmB,iBAAA,CAAA,IAAA;AAAA,IAAlB;AAAA,MACC,WAAA,EAAU,UAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,gEAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAA,GAAA;AAAA,QAAmB,iBAAA,CAAA,SAAA;AAAA,QAAlB;AAAA,UACC,WAAA,EAAU,oBAAA;AAAA,UACV,SAAA,EAAU,gDAAA;AAAA,UACV,OAAO,EAAE,SAAA,EAAW,eAAe,GAAA,IAAO,KAAA,IAAS,EAAE,CAAA,EAAA,CAAA;AAAK;AAAA;AAC5D;AAAA,GACF;AAEJ","file":"chunk-NWVMNWOH.js","sourcesContent":["import * as React from \"react\";\nimport * as ProgressPrimitive from \"@radix-ui/react-progress\";\n\nimport { cn } from \"../../lib/utils\";\n\ntype ProgressProps = React.ComponentProps<typeof ProgressPrimitive.Root>;\n\n/**\n * Horizontal bar that indicates the completion progress of a task or operation.\n *\n * @example\n * ```tsx\n * // Basic usage (65% complete)\n * <Progress value={65} />\n *\n * // With custom styling\n * <Progress value={40} className=\"h-3\" />\n * ```\n */\nfunction Progress({\n className,\n value,\n ...props\n}: ProgressProps) {\n return (\n <ProgressPrimitive.Root\n data-slot=\"progress\"\n className={cn(\n \"bg-primary/20 relative h-2 w-full overflow-hidden rounded-full\",\n className,\n )}\n {...props}\n >\n <ProgressPrimitive.Indicator\n data-slot=\"progress-indicator\"\n className=\"bg-primary h-full w-full flex-1 transition-all\"\n style={{ transform: `translateX(-${100 - (value || 0)}%)` }}\n />\n </ProgressPrimitive.Root>\n );\n}\n\nexport { Progress };\nexport type { ProgressProps };"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/display/toggle.tsx"],"names":[],"mappings":";;;;;AAMA,IAAM,cAAA,GAAiB,GAAA;AAAA,EACrB,+iBAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,OAAA,EAAS,gBAAA;AAAA,QACT,OAAA,EACE;AAAA,OACJ;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,OAAA,EAAS,kBAAA;AAAA,QACT,EAAA,EAAI,oBAAA;AAAA,QACJ,EAAA,EAAI;AAAA;AACN,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS,SAAA;AAAA,MACT,IAAA,EAAM;AAAA;AACR;AAEJ;AAsBA,SAAS,MAAA,CAAO;AAAA,EACd,SAAA;AAAA,EACA,OAAA;AAAA,EACA,IAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAgB;AACd,EAAA,uBACE,GAAA;AAAA,IAAiB,eAAA,CAAA,IAAA;AAAA,IAAhB;AAAA,MACC,WAAA,EAAU,QAAA;AAAA,MACV,SAAA,EAAW,GAAG,cAAA,CAAe,EAAE,SAAS,IAAA,EAAM,SAAA,EAAW,CAAC,CAAA;AAAA,MACzD,GAAG;AAAA;AAAA,GACN;AAEJ","file":"chunk-ORTPKXBI.js","sourcesContent":["import * as React from \"react\";\nimport * as TogglePrimitive from \"@radix-ui/react-toggle\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst toggleVariants = cva(\n \"inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium hover:bg-muted hover:text-muted-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] outline-none transition-[color,box-shadow] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive whitespace-nowrap\",\n {\n variants: {\n variant: {\n default: \"bg-transparent\",\n outline:\n \"border border-input bg-transparent hover:bg-accent hover:text-accent-foreground\",\n },\n size: {\n default: \"h-9 px-2 min-w-9\",\n sm: \"h-8 px-1.5 min-w-8\",\n lg: \"h-10 px-2.5 min-w-10\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n },\n);\n\ninterface ToggleProps\n extends React.ComponentProps<typeof TogglePrimitive.Root>,\n VariantProps<typeof toggleVariants> {}\n\n/**\n * Two-state button that can be toggled on or off, with variant and size options.\n *\n * @example\n * ```tsx\n * // Basic toggle\n * <Toggle aria-label=\"Toggle bold\">\n * <BoldIcon className=\"size-4\" />\n * </Toggle>\n *\n * // Outline variant, small size\n * <Toggle variant=\"outline\" size=\"sm\">\n * <ItalicIcon className=\"size-4\" />\n * </Toggle>\n * ```\n */\nfunction Toggle({\n className,\n variant,\n size,\n ...props\n}: ToggleProps) {\n return (\n <TogglePrimitive.Root\n data-slot=\"toggle\"\n className={cn(toggleVariants({ variant, size, className }))}\n {...props}\n />\n );\n}\n\nexport { Toggle, toggleVariants };\nexport type { ToggleProps };"]}
|
|
@@ -62,5 +62,5 @@ function TabsContent({
|
|
|
62
62
|
}
|
|
63
63
|
|
|
64
64
|
export { Tabs, TabsContent, TabsList, TabsTrigger };
|
|
65
|
-
//# sourceMappingURL=chunk-
|
|
66
|
-
//# sourceMappingURL=chunk-
|
|
65
|
+
//# sourceMappingURL=chunk-PJZ7D36X.js.map
|
|
66
|
+
//# sourceMappingURL=chunk-PJZ7D36X.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/navigation/tabs.tsx"],"names":[],"mappings":";;;;AA+BA,SAAS,IAAA,CAAK;AAAA,EACZ,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAoD;AAClD,EAAA,uBACE,GAAA;AAAA,IAAe,aAAA,CAAA,IAAA;AAAA,IAAd;AAAA,MACC,WAAA,EAAU,MAAA;AAAA,MACV,SAAA,EAAW,EAAA,CAAG,qBAAA,EAAuB,SAAS,CAAA;AAAA,MAC7C,GAAG;AAAA;AAAA,GACN;AAEJ;AAGA,SAAS,QAAA,CAAS;AAAA,EAChB,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAoD;AAClD,EAAA,uBACE,GAAA;AAAA,IAAe,aAAA,CAAA,IAAA;AAAA,IAAd;AAAA,MACC,WAAA,EAAU,WAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,gHAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAGA,SAAS,WAAA,CAAY;AAAA,EACnB,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAuD;AACrD,EAAA,uBACE,GAAA;AAAA,IAAe,aAAA,CAAA,OAAA;AAAA,IAAd;AAAA,MACC,WAAA,EAAU,cAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,6nBAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAGA,SAAS,WAAA,CAAY;AAAA,EACnB,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAuD;AACrD,EAAA,uBACE,GAAA;AAAA,IAAe,aAAA,CAAA,OAAA;AAAA,IAAd;AAAA,MACC,WAAA,EAAU,cAAA;AAAA,MACV,SAAA,EAAW,EAAA,CAAG,qBAAA,EAAuB,SAAS,CAAA;AAAA,MAC7C,GAAG;AAAA;AAAA,GACN;AAEJ","file":"chunk-PJZ7D36X.js","sourcesContent":["import * as React from \"react\";\nimport * as TabsPrimitive from \"@radix-ui/react-tabs\";\n\nimport { cn } from \"../../lib/utils\";\n\n/**\n * Tabbed interface component with list, trigger, and content sub-components.\n *\n * Built on Radix Tabs with density-aware sizing (`h-element` for the tab list).\n * Supports keyboard navigation and focus management out of the box.\n *\n * @example\n * ```tsx\n * <Tabs defaultValue=\"overview\">\n * <TabsList>\n * <TabsTrigger value=\"overview\">Overview</TabsTrigger>\n * <TabsTrigger value=\"analytics\">Analytics</TabsTrigger>\n * <TabsTrigger value=\"settings\">Settings</TabsTrigger>\n * </TabsList>\n * <TabsContent value=\"overview\">\n * <p>Overview content here.</p>\n * </TabsContent>\n * <TabsContent value=\"analytics\">\n * <p>Analytics content here.</p>\n * </TabsContent>\n * <TabsContent value=\"settings\">\n * <p>Settings content here.</p>\n * </TabsContent>\n * </Tabs>\n * ```\n */\nfunction Tabs({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Root>) {\n return (\n <TabsPrimitive.Root\n data-slot=\"tabs\"\n className={cn(\"flex flex-col gap-2\", className)}\n {...props}\n />\n );\n}\n\n/** Container for `TabsTrigger` elements. Renders as a rounded pill with muted background. */\nfunction TabsList({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.List>) {\n return (\n <TabsPrimitive.List\n data-slot=\"tabs-list\"\n className={cn(\n \"bg-muted text-muted-foreground inline-flex h-element w-fit items-center justify-center rounded-xl p-[3px] flex\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Individual tab button. Highlights with a card background when active. Requires a `value` prop matching a `TabsContent`. */\nfunction TabsTrigger({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Trigger>) {\n return (\n <TabsPrimitive.Trigger\n data-slot=\"tabs-trigger\"\n className={cn(\n \"data-[state=active]:bg-card dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-xl border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Content panel shown when its `value` matches the active tab. */\nfunction TabsContent({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Content>) {\n return (\n <TabsPrimitive.Content\n data-slot=\"tabs-content\"\n className={cn(\"flex-1 outline-none\", className)}\n {...props}\n />\n );\n}\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent };"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Toaster as Toaster$1 } from 'sonner';
|
|
2
2
|
import { jsx } from 'react/jsx-runtime';
|
|
3
3
|
|
|
4
|
-
// src/components/sonner.tsx
|
|
4
|
+
// src/components/overlay/sonner.tsx
|
|
5
5
|
var Toaster = ({ ...props }) => {
|
|
6
6
|
return /* @__PURE__ */ jsx(
|
|
7
7
|
Toaster$1,
|
|
@@ -19,5 +19,5 @@ var Toaster = ({ ...props }) => {
|
|
|
19
19
|
};
|
|
20
20
|
|
|
21
21
|
export { Toaster };
|
|
22
|
-
//# sourceMappingURL=chunk-
|
|
23
|
-
//# sourceMappingURL=chunk-
|
|
22
|
+
//# sourceMappingURL=chunk-PYB6RRA5.js.map
|
|
23
|
+
//# sourceMappingURL=chunk-PYB6RRA5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/overlay/sonner.tsx"],"names":["Sonner"],"mappings":";;;;AAmBA,IAAM,OAAA,GAAU,CAAC,EAAE,GAAG,OAAM,KAAoB;AAC9C,EAAA,uBACE,GAAA;AAAA,IAACA,SAAA;AAAA,IAAA;AAAA,MACC,KAAA,EAAM,OAAA;AAAA,MACN,SAAA,EAAU,eAAA;AAAA,MACV,KAAA,EACE;AAAA,QACE,aAAA,EAAe,gBAAA;AAAA,QACf,eAAA,EAAiB,2BAAA;AAAA,QACjB,iBAAA,EAAmB;AAAA,OACrB;AAAA,MAED,GAAG;AAAA;AAAA,GACN;AAEJ","file":"chunk-PYB6RRA5.js","sourcesContent":["import * as React from \"react\";\nimport { Toaster as Sonner, ToasterProps } from \"sonner\";\n\n/**\n * Toast notification container powered by the Sonner library.\n * Renders toast messages at a configurable position on screen.\n * Place this once at the root of your app, then use `toast()` to trigger notifications.\n *\n * @example\n * ```tsx\n * // In your root layout:\n * <Toaster />\n *\n * // Anywhere in your app:\n * import { toast } from \"sonner\";\n * toast.success(\"Changes saved\");\n * toast.error(\"Something went wrong\");\n * ```\n */\nconst Toaster = ({ ...props }: ToasterProps) => {\n return (\n <Sonner\n theme=\"light\"\n className=\"toaster group\"\n style={\n {\n \"--normal-bg\": \"var(--popover)\",\n \"--normal-text\": \"var(--popover-foreground)\",\n \"--normal-border\": \"var(--border)\",\n } as React.CSSProperties\n }\n {...props}\n />\n );\n};\n\nexport { Toaster };"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/inputs/radio-group.tsx"],"names":[],"mappings":";;;;;AA0BA,SAAS,UAAA,CAAW;AAAA,EAClB,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAoB;AAClB,EAAA,uBACE,GAAA;AAAA,IAAqB,mBAAA,CAAA,IAAA;AAAA,IAApB;AAAA,MACC,WAAA,EAAU,aAAA;AAAA,MACV,SAAA,EAAW,EAAA,CAAG,YAAA,EAAc,SAAS,CAAA;AAAA,MACpC,GAAG;AAAA;AAAA,GACN;AAEJ;AAcA,SAAS,cAAA,CAAe;AAAA,EACtB,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAwB;AACtB,EAAA,uBACE,GAAA;AAAA,IAAqB,mBAAA,CAAA,IAAA;AAAA,IAApB;AAAA,MACC,WAAA,EAAU,kBAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,wXAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAA,GAAA;AAAA,QAAqB,mBAAA,CAAA,SAAA;AAAA,QAApB;AAAA,UACC,WAAA,EAAU,uBAAA;AAAA,UACV,SAAA,EAAU,2CAAA;AAAA,UAEV,QAAA,kBAAA,GAAA,CAAC,UAAA,EAAA,EAAW,SAAA,EAAU,iFAAA,EAAkF;AAAA;AAAA;AAC1G;AAAA,GACF;AAEJ","file":"chunk-QGU4BRMO.js","sourcesContent":["import * as React from \"react\";\nimport { CircleIcon } from \"lucide-react\";\nimport * as RadioGroupPrimitive from \"@radix-ui/react-radio-group\";\n\nimport { cn } from \"../../lib/utils\";\n\ntype RadioGroupProps = React.ComponentProps<typeof RadioGroupPrimitive.Root>;\n\n/**\n * Container for a set of mutually exclusive radio options.\n * Use with {@link RadioGroupItem} to build single-selection groups.\n *\n * @example\n * ```tsx\n * <RadioGroup defaultValue=\"option-1\">\n * <div className=\"flex items-center gap-2\">\n * <RadioGroupItem value=\"option-1\" id=\"opt1\" />\n * <Label htmlFor=\"opt1\">Option 1</Label>\n * </div>\n * <div className=\"flex items-center gap-2\">\n * <RadioGroupItem value=\"option-2\" id=\"opt2\" />\n * <Label htmlFor=\"opt2\">Option 2</Label>\n * </div>\n * </RadioGroup>\n * ```\n */\nfunction RadioGroup({\n className,\n ...props\n}: RadioGroupProps) {\n return (\n <RadioGroupPrimitive.Root\n data-slot=\"radio-group\"\n className={cn(\"grid gap-3\", className)}\n {...props}\n />\n );\n}\n\ntype RadioGroupItemProps = React.ComponentProps<typeof RadioGroupPrimitive.Item>;\n\n/**\n * Individual radio option within a {@link RadioGroup}.\n * Renders as a circular indicator that fills when selected.\n *\n * @example\n * ```tsx\n * <RadioGroupItem value=\"dark\" id=\"theme-dark\" />\n * <Label htmlFor=\"theme-dark\">Dark mode</Label>\n * ```\n */\nfunction RadioGroupItem({\n className,\n ...props\n}: RadioGroupItemProps) {\n return (\n <RadioGroupPrimitive.Item\n data-slot=\"radio-group-item\"\n className={cn(\n \"border-input text-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 aspect-square size-4 shrink-0 rounded-full border shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50\",\n className,\n )}\n {...props}\n >\n <RadioGroupPrimitive.Indicator\n data-slot=\"radio-group-indicator\"\n className=\"relative flex items-center justify-center\"\n >\n <CircleIcon className=\"fill-primary absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2\" />\n </RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n );\n}\n\nexport { RadioGroup, RadioGroupItem };\nexport type { RadioGroupProps, RadioGroupItemProps };"]}
|
|
@@ -105,5 +105,5 @@ function TableCaption({
|
|
|
105
105
|
}
|
|
106
106
|
|
|
107
107
|
export { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow };
|
|
108
|
-
//# sourceMappingURL=chunk-
|
|
109
|
-
//# sourceMappingURL=chunk-
|
|
108
|
+
//# sourceMappingURL=chunk-RZZH57ZL.js.map
|
|
109
|
+
//# sourceMappingURL=chunk-RZZH57ZL.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/display/table.tsx"],"names":[],"mappings":";;;AAyCA,SAAS,KAAA,CAAM,EAAE,SAAA,EAAW,GAAG,OAAM,EAAkC;AACrE,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,iBAAA;AAAA,MACV,SAAA,EAAU,iCAAA;AAAA,MAEV,QAAA,kBAAA,GAAA;AAAA,QAAC,OAAA;AAAA,QAAA;AAAA,UACC,WAAA,EAAU,OAAA;AAAA,UACV,SAAA,EAAW,EAAA,CAAG,+BAAA,EAAiC,SAAS,CAAA;AAAA,UACvD,GAAG;AAAA;AAAA;AACN;AAAA,GACF;AAEJ;AAGA,SAAS,WAAA,CAAY,EAAE,SAAA,EAAW,GAAG,OAAM,EAAkC;AAC3E,EAAA,uBACE,GAAA;AAAA,IAAC,OAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,cAAA;AAAA,MACV,SAAA,EAAW,EAAA,CAAG,iBAAA,EAAmB,SAAS,CAAA;AAAA,MACzC,GAAG;AAAA;AAAA,GACN;AAEJ;AAGA,SAAS,SAAA,CAAU,EAAE,SAAA,EAAW,GAAG,OAAM,EAAkC;AACzE,EAAA,uBACE,GAAA;AAAA,IAAC,OAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,YAAA;AAAA,MACV,SAAA,EAAW,EAAA,CAAG,4BAAA,EAA8B,SAAS,CAAA;AAAA,MACpD,GAAG;AAAA;AAAA,GACN;AAEJ;AAGA,SAAS,WAAA,CAAY,EAAE,SAAA,EAAW,GAAG,OAAM,EAAkC;AAC3E,EAAA,uBACE,GAAA;AAAA,IAAC,OAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,cAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,yDAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAGA,SAAS,QAAA,CAAS,EAAE,SAAA,EAAW,GAAG,OAAM,EAA+B;AACrE,EAAA,uBACE,GAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,WAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,6EAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAGA,SAAS,SAAA,CAAU,EAAE,SAAA,EAAW,GAAG,OAAM,EAA+B;AACtE,EAAA,uBACE,GAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,YAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,4JAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAGA,SAAS,SAAA,CAAU,EAAE,SAAA,EAAW,GAAG,OAAM,EAA+B;AACtE,EAAA,uBACE,GAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,YAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,wGAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAGA,SAAS,YAAA,CAAa;AAAA,EACpB,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAoC;AAClC,EAAA,uBACE,GAAA;AAAA,IAAC,SAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,eAAA;AAAA,MACV,SAAA,EAAW,EAAA,CAAG,oCAAA,EAAsC,SAAS,CAAA;AAAA,MAC5D,GAAG;AAAA;AAAA,GACN;AAEJ","file":"chunk-RZZH57ZL.js","sourcesContent":["import * as React from \"react\";\n\nimport { cn } from \"../../lib/utils\";\n\n/**\n * Data table component with header, body, footer, row, head, cell, and caption sub-components.\n *\n * Renders inside a horizontally scrollable container. Uses density tokens for\n * consistent header height (`h-table-head`) and cell padding.\n *\n * @example\n * ```tsx\n * <Table>\n * <TableHeader>\n * <TableRow>\n * <TableHead>Name</TableHead>\n * <TableHead>Email</TableHead>\n * <TableHead>Role</TableHead>\n * </TableRow>\n * </TableHeader>\n * <TableBody>\n * <TableRow>\n * <TableCell>Alice</TableCell>\n * <TableCell>alice@example.com</TableCell>\n * <TableCell>Admin</TableCell>\n * </TableRow>\n * <TableRow>\n * <TableCell>Bob</TableCell>\n * <TableCell>bob@example.com</TableCell>\n * <TableCell>Member</TableCell>\n * </TableRow>\n * </TableBody>\n * <TableFooter>\n * <TableRow>\n * <TableCell colSpan={3}>2 users total</TableCell>\n * </TableRow>\n * </TableFooter>\n * <TableCaption>A list of team members.</TableCaption>\n * </Table>\n * ```\n */\nfunction Table({ className, ...props }: React.ComponentProps<\"table\">) {\n return (\n <div\n data-slot=\"table-container\"\n className=\"relative w-full overflow-x-auto\"\n >\n <table\n data-slot=\"table\"\n className={cn(\"w-full caption-bottom text-sm\", className)}\n {...props}\n />\n </div>\n );\n}\n\n/** Table header container. Groups `TableRow` elements for column headings. */\nfunction TableHeader({ className, ...props }: React.ComponentProps<\"thead\">) {\n return (\n <thead\n data-slot=\"table-header\"\n className={cn(\"[&_tr]:border-b\", className)}\n {...props}\n />\n );\n}\n\n/** Table body container. Groups `TableRow` elements for data rows. */\nfunction TableBody({ className, ...props }: React.ComponentProps<\"tbody\">) {\n return (\n <tbody\n data-slot=\"table-body\"\n className={cn(\"[&_tr:last-child]:border-0\", className)}\n {...props}\n />\n );\n}\n\n/** Table footer container. Renders with a muted background and top border. */\nfunction TableFooter({ className, ...props }: React.ComponentProps<\"tfoot\">) {\n return (\n <tfoot\n data-slot=\"table-footer\"\n className={cn(\n \"bg-muted/50 border-t font-medium [&>tr]:last:border-b-0\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Table row with hover highlight and selected state support via `data-state=\"selected\"`. */\nfunction TableRow({ className, ...props }: React.ComponentProps<\"tr\">) {\n return (\n <tr\n data-slot=\"table-row\"\n className={cn(\n \"hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Table head cell. Renders as a `<th>` with density-based height (`h-table-head`). */\nfunction TableHead({ className, ...props }: React.ComponentProps<\"th\">) {\n return (\n <th\n data-slot=\"table-head\"\n className={cn(\n \"text-foreground h-table-head px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Table data cell. Renders as a `<td>` with consistent padding and alignment. */\nfunction TableCell({ className, ...props }: React.ComponentProps<\"td\">) {\n return (\n <td\n data-slot=\"table-cell\"\n className={cn(\n \"p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Table caption displayed below the table in muted text. */\nfunction TableCaption({\n className,\n ...props\n}: React.ComponentProps<\"caption\">) {\n return (\n <caption\n data-slot=\"table-caption\"\n className={cn(\"text-muted-foreground mt-4 text-sm\", className)}\n {...props}\n />\n );\n}\n\nexport {\n Table,\n TableHeader,\n TableBody,\n TableFooter,\n TableHead,\n TableRow,\n TableCell,\n TableCaption,\n};"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/inputs/slider.tsx"],"names":[],"mappings":";;;;;AAuBA,SAAS,MAAA,CAAO;AAAA,EACd,SAAA;AAAA,EACA,YAAA;AAAA,EACA,KAAA;AAAA,EACA,GAAA,GAAM,CAAA;AAAA,EACN,GAAA,GAAM,GAAA;AAAA,EACN,GAAG;AACL,CAAA,EAAgB;AACd,EAAA,MAAM,OAAA,GAAgB,KAAA,CAAA,OAAA;AAAA,IACpB,MACE,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,GACf,KAAA,GACA,KAAA,CAAM,OAAA,CAAQ,YAAY,CAAA,GACxB,YAAA,GACA,CAAC,KAAK,GAAG,CAAA;AAAA,IACjB,CAAC,KAAA,EAAO,YAAA,EAAc,GAAA,EAAK,GAAG;AAAA,GAChC;AAEA,EAAA,uBACE,IAAA;AAAA,IAAiB,eAAA,CAAA,IAAA;AAAA,IAAhB;AAAA,MACC,WAAA,EAAU,QAAA;AAAA,MACV,YAAA;AAAA,MACA,KAAA;AAAA,MACA,GAAA;AAAA,MACA,GAAA;AAAA,MACA,SAAA,EAAW,EAAA;AAAA,QACT,qOAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,wBAAA,GAAA;AAAA,UAAiB,eAAA,CAAA,KAAA;AAAA,UAAhB;AAAA,YACC,WAAA,EAAU,cAAA;AAAA,YACV,SAAA,EAAW,EAAA;AAAA,cACT;AAAA,aACF;AAAA,YAEA,QAAA,kBAAA,GAAA;AAAA,cAAiB,eAAA,CAAA,KAAA;AAAA,cAAhB;AAAA,gBACC,WAAA,EAAU,cAAA;AAAA,gBACV,SAAA,EAAW,EAAA;AAAA,kBACT;AAAA;AACF;AAAA;AACF;AAAA,SACF;AAAA,QACC,KAAA,CAAM,KAAK,EAAE,MAAA,EAAQ,QAAQ,MAAA,EAAO,EAAG,CAAC,CAAA,EAAG,KAAA,qBAC1C,GAAA;AAAA,UAAiB,eAAA,CAAA,KAAA;AAAA,UAAhB;AAAA,YACC,WAAA,EAAU,cAAA;AAAA,YAEV,SAAA,EAAU;AAAA,WAAA;AAAA,UADL;AAAA,SAGR;AAAA;AAAA;AAAA,GACH;AAEJ","file":"chunk-S73PGQD5.js","sourcesContent":["import * as React from \"react\";\nimport * as SliderPrimitive from \"@radix-ui/react-slider\";\n\nimport { cn } from \"../../lib/utils\";\n\ntype SliderProps = React.ComponentProps<typeof SliderPrimitive.Root>;\n\n/**\n * Draggable range input for selecting a numeric value or range within a given min/max.\n * Supports single-thumb and multi-thumb modes, as well as vertical orientation.\n *\n * @example\n * ```tsx\n * // Single value\n * <Slider defaultValue={[50]} max={100} step={1} />\n *\n * // Range (two thumbs)\n * <Slider defaultValue={[25, 75]} max={100} step={5} />\n *\n * // Controlled\n * <Slider value={[volume]} onValueChange={([v]) => setVolume(v)} />\n * ```\n */\nfunction Slider({\n className,\n defaultValue,\n value,\n min = 0,\n max = 100,\n ...props\n}: SliderProps) {\n const _values = React.useMemo(\n () =>\n Array.isArray(value)\n ? value\n : Array.isArray(defaultValue)\n ? defaultValue\n : [min, max],\n [value, defaultValue, min, max],\n );\n\n return (\n <SliderPrimitive.Root\n data-slot=\"slider\"\n defaultValue={defaultValue}\n value={value}\n min={min}\n max={max}\n className={cn(\n \"relative flex w-full touch-none items-center select-none data-[disabled]:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col\",\n className,\n )}\n {...props}\n >\n <SliderPrimitive.Track\n data-slot=\"slider-track\"\n className={cn(\n \"bg-muted relative grow overflow-hidden rounded-full data-[orientation=horizontal]:h-4 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5\",\n )}\n >\n <SliderPrimitive.Range\n data-slot=\"slider-range\"\n className={cn(\n \"bg-primary absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full\",\n )}\n />\n </SliderPrimitive.Track>\n {Array.from({ length: _values.length }, (_, index) => (\n <SliderPrimitive.Thumb\n data-slot=\"slider-thumb\"\n key={index}\n className=\"border-primary bg-background ring-ring/50 block size-4 shrink-0 rounded-full border shadow-sm transition-[color,box-shadow] hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50\"\n />\n ))}\n </SliderPrimitive.Root>\n );\n}\n\nexport { Slider };\nexport type { SliderProps };"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Badge } from './chunk-
|
|
1
|
+
import { Badge } from './chunk-5SAUUOCN.js';
|
|
2
2
|
import { cn } from './chunk-DGPY4WP3.js';
|
|
3
3
|
import { MapPin, GitBranch, Building2, Globe } from 'lucide-react';
|
|
4
4
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
@@ -37,5 +37,5 @@ function ScopeTypeBadge({
|
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
export { ScopeTypeBadge };
|
|
40
|
-
//# sourceMappingURL=chunk-
|
|
41
|
-
//# sourceMappingURL=chunk-
|
|
40
|
+
//# sourceMappingURL=chunk-SAHHVJMQ.js.map
|
|
41
|
+
//# sourceMappingURL=chunk-SAHHVJMQ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/domain/rbac/scope-type-badge.tsx"],"names":[],"mappings":";;;;;AAYA,IAAM,cAAA,GAAuD;AAAA,EAC3D,MAAA,EAAQ;AAAA,IACN,SAAA,EACE,yGAAA;AAAA,IACF,IAAA,EAAM;AAAA,GACR;AAAA,EACA,YAAA,EAAc;AAAA,IACZ,SAAA,EACE,qHAAA;AAAA,IACF,IAAA,EAAM;AAAA,GACR;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,SAAA,EACE,+GAAA;AAAA,IACF,IAAA,EAAM;AAAA,GACR;AAAA,EACA,QAAA,EAAU;AAAA,IACR,SAAA,EACE,+GAAA;AAAA,IACF,IAAA,EAAM;AAAA;AAEV,CAAA;AAyBO,SAAS,cAAA,CAAe;AAAA,EAC7B,IAAA;AAAA,EACA,KAAA;AAAA,EACA,SAAA;AAAA,EACA,MAAA,EAAQ;AACV,CAAA,EAAwB;AACtB,EAAA,MAAM,QAAA,GAAW,cAAA,CAAe,IAAI,CAAA,IAAK,cAAA,CAAe,MAAA;AACxD,EAAA,MAAM,IAAA,GAAO,cAAA,EAAgB,IAAA,IAAQ,QAAA,CAAS,IAAA;AAC9C,EAAA,MAAM,cAAA,GAAiB,cAAA,EAAgB,SAAA,IAAa,QAAA,CAAS,SAAA;AAE7D,EAAA,uBACE,IAAA,CAAC,SAAM,OAAA,EAAQ,SAAA,EAAU,WAAW,EAAA,CAAG,cAAA,EAAgB,SAAS,CAAA,EAC9D,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,IAAA,EAAA,EAAK,WAAU,cAAA,EAAe,CAAA;AAAA,IAC9B;AAAA,GAAA,EACH,CAAA;AAEJ","file":"chunk-SAHHVJMQ.js","sourcesContent":["import { Globe, Building2, GitBranch, MapPin, type LucideIcon } from 'lucide-react';\nimport { Badge } from '../../display/badge';\nimport { cn } from '../../../lib/utils';\n\n/** Custom style and icon overrides for a scope type badge. */\nexport interface ScopeTypeBadgeStyles {\n /** Tailwind className string for the badge background, text, and border colors. */\n className: string;\n /** Lucide icon component to display in the badge. */\n icon: LucideIcon;\n}\n\nconst DEFAULT_STYLES: Record<string, ScopeTypeBadgeStyles> = {\n global: {\n className:\n 'bg-blue-50 dark:bg-blue-500/15 text-blue-600 dark:text-blue-400 border-blue-200 dark:border-blue-500/30',\n icon: Globe,\n },\n organization: {\n className:\n 'bg-purple-50 dark:bg-purple-500/15 text-purple-600 dark:text-purple-400 border-purple-200 dark:border-purple-500/30',\n icon: Building2,\n },\n branch: {\n className:\n 'bg-amber-50 dark:bg-amber-500/15 text-amber-600 dark:text-amber-400 border-amber-200 dark:border-amber-500/30',\n icon: GitBranch,\n },\n location: {\n className:\n 'bg-green-50 dark:bg-green-500/15 text-green-600 dark:text-green-400 border-green-200 dark:border-green-500/30',\n icon: MapPin,\n },\n};\n\nexport interface ScopeTypeBadgeProps {\n /** The scope type key (e.g. \"global\", \"organization\", \"branch\", \"location\"). */\n type: string;\n /** The display label for the badge. */\n label: string;\n /** Optional className to append to the badge. */\n className?: string;\n /** Override default styles and icon for the given type. */\n styles?: Partial<ScopeTypeBadgeStyles>;\n}\n\n/**\n * Color-coded badge with an icon indicating a scope type. Ships with built-in\n * styles for global (blue/Globe), organization (purple/Building2), branch\n * (amber/GitBranch), and location (green/MapPin). Custom types fall back to\n * global styling unless overridden via `styles`.\n *\n * @example\n * ```tsx\n * <ScopeTypeBadge type=\"organization\" label=\"Organization\" />\n * <ScopeTypeBadge type=\"branch\" label=\"Branch\" />\n * ```\n */\nexport function ScopeTypeBadge({\n type,\n label,\n className,\n styles: styleOverrides,\n}: ScopeTypeBadgeProps) {\n const defaults = DEFAULT_STYLES[type] ?? DEFAULT_STYLES.global;\n const Icon = styleOverrides?.icon ?? defaults.icon;\n const badgeClassName = styleOverrides?.className ?? defaults.className;\n\n return (\n <Badge variant=\"outline\" className={cn(badgeClassName, className)}>\n <Icon className=\"w-3 h-3 mr-1\" />\n {label}\n </Badge>\n );\n}\n"]}
|
|
@@ -234,5 +234,5 @@ function MenubarSubContent({
|
|
|
234
234
|
}
|
|
235
235
|
|
|
236
236
|
export { Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger };
|
|
237
|
-
//# sourceMappingURL=chunk-
|
|
238
|
-
//# sourceMappingURL=chunk-
|
|
237
|
+
//# sourceMappingURL=chunk-T65EBJUJ.js.map
|
|
238
|
+
//# sourceMappingURL=chunk-T65EBJUJ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/navigation/menubar.tsx"],"names":[],"mappings":";;;;;AA4CA,SAAS,OAAA,CAAQ;AAAA,EACf,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAuD;AACrD,EAAA,uBACE,GAAA;AAAA,IAAkB,gBAAA,CAAA,IAAA;AAAA,IAAjB;AAAA,MACC,WAAA,EAAU,SAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,2EAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAGA,SAAS,WAAA,CAAY;AAAA,EACnB,GAAG;AACL,CAAA,EAAuD;AACrD,EAAA,2BAAyB,gBAAA,CAAA,IAAA,EAAjB,EAAsB,WAAA,EAAU,cAAA,EAAgB,GAAG,KAAA,EAAO,CAAA;AACpE;AAGA,SAAS,YAAA,CAAa;AAAA,EACpB,GAAG;AACL,CAAA,EAAwD;AACtD,EAAA,2BAAyB,gBAAA,CAAA,KAAA,EAAjB,EAAuB,WAAA,EAAU,eAAA,EAAiB,GAAG,KAAA,EAAO,CAAA;AACtE;AAGA,SAAS,aAAA,CAAc;AAAA,EACrB,GAAG;AACL,CAAA,EAAyD;AACvD,EAAA,2BAAyB,gBAAA,CAAA,MAAA,EAAjB,EAAwB,WAAA,EAAU,gBAAA,EAAkB,GAAG,KAAA,EAAO,CAAA;AACxE;AAGA,SAAS,iBAAA,CAAkB;AAAA,EACzB,GAAG;AACL,CAAA,EAA6D;AAC3D,EAAA,2BACoB,gBAAA,CAAA,UAAA,EAAjB,EAA4B,WAAA,EAAU,qBAAA,EAAuB,GAAG,KAAA,EAAO,CAAA;AAE5E;AAGA,SAAS,cAAA,CAAe;AAAA,EACtB,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA0D;AACxD,EAAA,uBACE,GAAA;AAAA,IAAkB,gBAAA,CAAA,OAAA;AAAA,IAAjB;AAAA,MACC,WAAA,EAAU,iBAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,yMAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAGA,SAAS,cAAA,CAAe;AAAA,EACtB,SAAA;AAAA,EACA,KAAA,GAAQ,OAAA;AAAA,EACR,WAAA,GAAc,EAAA;AAAA,EACd,UAAA,GAAa,CAAA;AAAA,EACb,GAAG;AACL,CAAA,EAA0D;AACxD,EAAA,2BACG,aAAA,EAAA,EACC,QAAA,kBAAA,GAAA;AAAA,IAAkB,gBAAA,CAAA,OAAA;AAAA,IAAjB;AAAA,MACC,WAAA,EAAU,iBAAA;AAAA,MACV,KAAA;AAAA,MACA,WAAA;AAAA,MACA,UAAA;AAAA,MACA,SAAA,EAAW,EAAA;AAAA,QACT,0cAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN,EACF,CAAA;AAEJ;AAGA,SAAS,WAAA,CAAY;AAAA,EACnB,SAAA;AAAA,EACA,KAAA;AAAA,EACA,OAAA,GAAU,SAAA;AAAA,EACV,GAAG;AACL,CAAA,EAGG;AACD,EAAA,uBACE,GAAA;AAAA,IAAkB,gBAAA,CAAA,IAAA;AAAA,IAAjB;AAAA,MACC,WAAA,EAAU,cAAA;AAAA,MACV,YAAA,EAAY,KAAA;AAAA,MACZ,cAAA,EAAc,OAAA;AAAA,MACd,SAAA,EAAW,EAAA;AAAA,QACT,6mBAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAGA,SAAS,mBAAA,CAAoB;AAAA,EAC3B,SAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA+D;AAC7D,EAAA,uBACE,IAAA;AAAA,IAAkB,gBAAA,CAAA,YAAA;AAAA,IAAjB;AAAA,MACC,WAAA,EAAU,uBAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,8SAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,OAAA;AAAA,MACC,GAAG,KAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,+EAAA,EACd,QAAA,kBAAA,GAAA,CAAkB,gBAAA,CAAA,aAAA,EAAjB,EACC,QAAA,kBAAA,GAAA,CAAC,SAAA,EAAA,EAAU,SAAA,EAAU,QAAA,EAAS,CAAA,EAChC,CAAA,EACF,CAAA;AAAA,QACC;AAAA;AAAA;AAAA,GACH;AAEJ;AAGA,SAAS,gBAAA,CAAiB;AAAA,EACxB,SAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA4D;AAC1D,EAAA,uBACE,IAAA;AAAA,IAAkB,gBAAA,CAAA,SAAA;AAAA,IAAjB;AAAA,MACC,WAAA,EAAU,oBAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,8SAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,+EAAA,EACd,QAAA,kBAAA,GAAA,CAAkB,gBAAA,CAAA,aAAA,EAAjB,EACC,QAAA,kBAAA,GAAA,CAAC,UAAA,EAAA,EAAW,SAAA,EAAU,qBAAA,EAAsB,CAAA,EAC9C,CAAA,EACF,CAAA;AAAA,QACC;AAAA;AAAA;AAAA,GACH;AAEJ;AAGA,SAAS,YAAA,CAAa;AAAA,EACpB,SAAA;AAAA,EACA,KAAA;AAAA,EACA,GAAG;AACL,CAAA,EAEG;AACD,EAAA,uBACE,GAAA;AAAA,IAAkB,gBAAA,CAAA,KAAA;AAAA,IAAjB;AAAA,MACC,WAAA,EAAU,eAAA;AAAA,MACV,YAAA,EAAY,KAAA;AAAA,MACZ,SAAA,EAAW,EAAA;AAAA,QACT,mDAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAGA,SAAS,gBAAA,CAAiB;AAAA,EACxB,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA4D;AAC1D,EAAA,uBACE,GAAA;AAAA,IAAkB,gBAAA,CAAA,SAAA;AAAA,IAAjB;AAAA,MACC,WAAA,EAAU,mBAAA;AAAA,MACV,SAAA,EAAW,EAAA,CAAG,2BAAA,EAA6B,SAAS,CAAA;AAAA,MACnD,GAAG;AAAA;AAAA,GACN;AAEJ;AAGA,SAAS,eAAA,CAAgB;AAAA,EACvB,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAiC;AAC/B,EAAA,uBACE,GAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,kBAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,uDAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAGA,SAAS,UAAA,CAAW;AAAA,EAClB,GAAG;AACL,CAAA,EAAsD;AACpD,EAAA,2BAAyB,gBAAA,CAAA,GAAA,EAAjB,EAAqB,WAAA,EAAU,aAAA,EAAe,GAAG,KAAA,EAAO,CAAA;AAClE;AAGA,SAAS,iBAAA,CAAkB;AAAA,EACzB,SAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAEG;AACD,EAAA,uBACE,IAAA;AAAA,IAAkB,gBAAA,CAAA,UAAA;AAAA,IAAjB;AAAA,MACC,WAAA,EAAU,qBAAA;AAAA,MACV,YAAA,EAAY,KAAA;AAAA,MACZ,SAAA,EAAW,EAAA;AAAA,QACT,8NAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAA,QAAA;AAAA,wBACD,GAAA,CAAC,gBAAA,EAAA,EAAiB,SAAA,EAAU,iBAAA,EAAkB;AAAA;AAAA;AAAA,GAChD;AAEJ;AAGA,SAAS,iBAAA,CAAkB;AAAA,EACzB,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA6D;AAC3D,EAAA,uBACE,GAAA;AAAA,IAAkB,gBAAA,CAAA,UAAA;AAAA,IAAjB;AAAA,MACC,WAAA,EAAU,qBAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,yeAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ","file":"chunk-T65EBJUJ.js","sourcesContent":["import * as React from \"react\";\nimport * as MenubarPrimitive from \"@radix-ui/react-menubar\";\nimport { CheckIcon, ChevronRightIcon, CircleIcon } from \"lucide-react\";\n\nimport { cn } from \"../../lib/utils\";\n\n/**\n * Horizontal menu bar component built on Radix UI Menubar.\n *\n * Provides a desktop-style menu bar with multiple dropdown menus.\n * Each menu is defined by a `MenubarMenu` containing a `MenubarTrigger`\n * and `MenubarContent` with items.\n *\n * @example\n * ```tsx\n * <Menubar>\n * <MenubarMenu>\n * <MenubarTrigger>File</MenubarTrigger>\n * <MenubarContent>\n * <MenubarItem>\n * New Tab\n * <MenubarShortcut>Ctrl+T</MenubarShortcut>\n * </MenubarItem>\n * <MenubarItem>New Window</MenubarItem>\n * <MenubarSeparator />\n * <MenubarSub>\n * <MenubarSubTrigger>Share</MenubarSubTrigger>\n * <MenubarSubContent>\n * <MenubarItem>Email Link</MenubarItem>\n * <MenubarItem>Messages</MenubarItem>\n * </MenubarSubContent>\n * </MenubarSub>\n * </MenubarContent>\n * </MenubarMenu>\n * <MenubarMenu>\n * <MenubarTrigger>Edit</MenubarTrigger>\n * <MenubarContent>\n * <MenubarItem>Undo</MenubarItem>\n * <MenubarItem>Redo</MenubarItem>\n * </MenubarContent>\n * </MenubarMenu>\n * </Menubar>\n * ```\n */\nfunction Menubar({\n className,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Root>) {\n return (\n <MenubarPrimitive.Root\n data-slot=\"menubar\"\n className={cn(\n \"bg-background flex h-9 items-center gap-1 rounded-md border p-1 shadow-xs\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Wraps a single menu within the menu bar, containing a trigger and content. */\nfunction MenubarMenu({\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Menu>) {\n return <MenubarPrimitive.Menu data-slot=\"menubar-menu\" {...props} />;\n}\n\n/** Groups related menubar items together for accessibility. */\nfunction MenubarGroup({\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Group>) {\n return <MenubarPrimitive.Group data-slot=\"menubar-group\" {...props} />;\n}\n\n/** Portal that renders menubar content outside the DOM hierarchy. */\nfunction MenubarPortal({\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Portal>) {\n return <MenubarPrimitive.Portal data-slot=\"menubar-portal\" {...props} />;\n}\n\n/** Container for radio menubar items where only one can be selected at a time. */\nfunction MenubarRadioGroup({\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.RadioGroup>) {\n return (\n <MenubarPrimitive.RadioGroup data-slot=\"menubar-radio-group\" {...props} />\n );\n}\n\n/** Button label in the menu bar that opens its associated dropdown content on click. */\nfunction MenubarTrigger({\n className,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Trigger>) {\n return (\n <MenubarPrimitive.Trigger\n data-slot=\"menubar-trigger\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex items-center rounded-sm px-2 py-1 text-sm font-medium outline-hidden select-none\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Floating container for menubar items, positioned below the trigger. */\nfunction MenubarContent({\n className,\n align = \"start\",\n alignOffset = -4,\n sideOffset = 8,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Content>) {\n return (\n <MenubarPortal>\n <MenubarPrimitive.Content\n data-slot=\"menubar-content\"\n align={align}\n alignOffset={alignOffset}\n sideOffset={sideOffset}\n className={cn(\n \"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[12rem] origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-md\",\n className,\n )}\n {...props}\n />\n </MenubarPortal>\n );\n}\n\n/** Actionable menu item. Set `variant=\"destructive\"` for dangerous actions, `inset` for left-padding alignment. */\nfunction MenubarItem({\n className,\n inset,\n variant = \"default\",\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Item> & {\n inset?: boolean;\n variant?: \"default\" | \"destructive\";\n}) {\n return (\n <MenubarPrimitive.Item\n data-slot=\"menubar-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Menu item with a checkbox indicator for toggling options. */\nfunction MenubarCheckboxItem({\n className,\n children,\n checked,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.CheckboxItem>) {\n return (\n <MenubarPrimitive.CheckboxItem\n data-slot=\"menubar-checkbox-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <MenubarPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </MenubarPrimitive.ItemIndicator>\n </span>\n {children}\n </MenubarPrimitive.CheckboxItem>\n );\n}\n\n/** Menu item with a radio indicator for single-selection groups. */\nfunction MenubarRadioItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.RadioItem>) {\n return (\n <MenubarPrimitive.RadioItem\n data-slot=\"menubar-radio-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <MenubarPrimitive.ItemIndicator>\n <CircleIcon className=\"size-2 fill-current\" />\n </MenubarPrimitive.ItemIndicator>\n </span>\n {children}\n </MenubarPrimitive.RadioItem>\n );\n}\n\n/** Non-interactive label used to title a group of menu items. */\nfunction MenubarLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Label> & {\n inset?: boolean;\n}) {\n return (\n <MenubarPrimitive.Label\n data-slot=\"menubar-label\"\n data-inset={inset}\n className={cn(\n \"px-2 py-1.5 text-sm font-medium data-[inset]:pl-8\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Visual divider between groups of menu items. */\nfunction MenubarSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Separator>) {\n return (\n <MenubarPrimitive.Separator\n data-slot=\"menubar-separator\"\n className={cn(\"bg-border -mx-1 my-1 h-px\", className)}\n {...props}\n />\n );\n}\n\n/** Keyboard shortcut hint displayed at the end of a menu item. */\nfunction MenubarShortcut({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"menubar-shortcut\"\n className={cn(\n \"text-muted-foreground ml-auto text-xs tracking-widest\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Container for a nested sub-menu within the menubar. */\nfunction MenubarSub({\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.Sub>) {\n return <MenubarPrimitive.Sub data-slot=\"menubar-sub\" {...props} />;\n}\n\n/** Menu item that opens a sub-menu on hover. Displays a chevron indicator. */\nfunction MenubarSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.SubTrigger> & {\n inset?: boolean;\n}) {\n return (\n <MenubarPrimitive.SubTrigger\n data-slot=\"menubar-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-none select-none data-[inset]:pl-8\",\n className,\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto h-4 w-4\" />\n </MenubarPrimitive.SubTrigger>\n );\n}\n\n/** Floating container for sub-menu items. */\nfunction MenubarSubContent({\n className,\n ...props\n}: React.ComponentProps<typeof MenubarPrimitive.SubContent>) {\n return (\n <MenubarPrimitive.SubContent\n data-slot=\"menubar-sub-content\"\n className={cn(\n \"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n Menubar,\n MenubarPortal,\n MenubarMenu,\n MenubarTrigger,\n MenubarContent,\n MenubarGroup,\n MenubarSeparator,\n MenubarLabel,\n MenubarItem,\n MenubarShortcut,\n MenubarCheckboxItem,\n MenubarRadioGroup,\n MenubarRadioItem,\n MenubarSub,\n MenubarSubTrigger,\n MenubarSubContent,\n};"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { toggleVariants } from './chunk-
|
|
1
|
+
import { toggleVariants } from './chunk-ORTPKXBI.js';
|
|
2
2
|
import { cn } from './chunk-DGPY4WP3.js';
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group';
|
|
@@ -59,5 +59,5 @@ function ToggleGroupItem({
|
|
|
59
59
|
}
|
|
60
60
|
|
|
61
61
|
export { ToggleGroup, ToggleGroupItem };
|
|
62
|
-
//# sourceMappingURL=chunk-
|
|
63
|
-
//# sourceMappingURL=chunk-
|
|
62
|
+
//# sourceMappingURL=chunk-TPBRGO4D.js.map
|
|
63
|
+
//# sourceMappingURL=chunk-TPBRGO4D.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/display/toggle-group.tsx"],"names":[],"mappings":";;;;;;AAOA,IAAM,qBAA2B,KAAA,CAAA,aAAA,CAE/B;AAAA,EACA,IAAA,EAAM,SAAA;AAAA,EACN,OAAA,EAAS;AACX,CAAC,CAAA;AAyBD,SAAS,WAAA,CAAY;AAAA,EACnB,SAAA;AAAA,EACA,OAAA;AAAA,EACA,IAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAqB;AACnB,EAAA,uBACE,GAAA;AAAA,IAAsB,oBAAA,CAAA,IAAA;AAAA,IAArB;AAAA,MACC,WAAA,EAAU,cAAA;AAAA,MACV,cAAA,EAAc,OAAA;AAAA,MACd,WAAA,EAAW,IAAA;AAAA,MACX,SAAA,EAAW,EAAA;AAAA,QACT,wFAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAA,GAAA,CAAC,mBAAmB,QAAA,EAAnB,EAA4B,OAAO,EAAE,OAAA,EAAS,IAAA,EAAK,EACjD,QAAA,EACH;AAAA;AAAA,GACF;AAEJ;AAgBA,SAAS,eAAA,CAAgB;AAAA,EACvB,SAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA;AAAA,EACA,IAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAyB;AACvB,EAAA,MAAM,OAAA,GAAgB,iBAAW,kBAAkB,CAAA;AAEnD,EAAA,uBACE,GAAA;AAAA,IAAsB,oBAAA,CAAA,IAAA;AAAA,IAArB;AAAA,MACC,WAAA,EAAU,mBAAA;AAAA,MACV,cAAA,EAAc,QAAQ,OAAA,IAAW,OAAA;AAAA,MACjC,WAAA,EAAW,QAAQ,IAAA,IAAQ,IAAA;AAAA,MAC3B,SAAA,EAAW,EAAA;AAAA,QACT,cAAA,CAAe;AAAA,UACb,OAAA,EAAS,QAAQ,OAAA,IAAW,OAAA;AAAA,UAC5B,IAAA,EAAM,QAAQ,IAAA,IAAQ;AAAA,SACvB,CAAA;AAAA,QACD,6LAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEH;AAAA;AAAA,GACH;AAEJ","file":"chunk-TPBRGO4D.js","sourcesContent":["import * as React from \"react\";\nimport * as ToggleGroupPrimitive from \"@radix-ui/react-toggle-group\";\nimport { type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"../../lib/utils\";\nimport { toggleVariants } from \"./toggle\";\n\nconst ToggleGroupContext = React.createContext<\n VariantProps<typeof toggleVariants>\n>({\n size: \"default\",\n variant: \"default\",\n});\n\ntype ToggleGroupProps = React.ComponentProps<typeof ToggleGroupPrimitive.Root> &\n VariantProps<typeof toggleVariants>;\n\n/**\n * Group of toggle buttons where one or multiple items can be active.\n * Provides shared `variant` and `size` context to child {@link ToggleGroupItem} components.\n *\n * @example\n * ```tsx\n * // Single selection\n * <ToggleGroup type=\"single\" defaultValue=\"center\">\n * <ToggleGroupItem value=\"left\"><AlignLeftIcon /></ToggleGroupItem>\n * <ToggleGroupItem value=\"center\"><AlignCenterIcon /></ToggleGroupItem>\n * <ToggleGroupItem value=\"right\"><AlignRightIcon /></ToggleGroupItem>\n * </ToggleGroup>\n *\n * // Multiple selection with outline variant\n * <ToggleGroup type=\"multiple\" variant=\"outline\" size=\"sm\">\n * <ToggleGroupItem value=\"bold\"><BoldIcon /></ToggleGroupItem>\n * <ToggleGroupItem value=\"italic\"><ItalicIcon /></ToggleGroupItem>\n * </ToggleGroup>\n * ```\n */\nfunction ToggleGroup({\n className,\n variant,\n size,\n children,\n ...props\n}: ToggleGroupProps) {\n return (\n <ToggleGroupPrimitive.Root\n data-slot=\"toggle-group\"\n data-variant={variant}\n data-size={size}\n className={cn(\n \"group/toggle-group flex w-fit items-center rounded-md data-[variant=outline]:shadow-xs\",\n className,\n )}\n {...props}\n >\n <ToggleGroupContext.Provider value={{ variant, size }}>\n {children}\n </ToggleGroupContext.Provider>\n </ToggleGroupPrimitive.Root>\n );\n}\n\ntype ToggleGroupItemProps = React.ComponentProps<typeof ToggleGroupPrimitive.Item> &\n VariantProps<typeof toggleVariants>;\n\n/**\n * Individual toggle item within a {@link ToggleGroup}.\n * Inherits `variant` and `size` from the parent group context unless overridden.\n *\n * @example\n * ```tsx\n * <ToggleGroupItem value=\"bold\" aria-label=\"Toggle bold\">\n * <BoldIcon className=\"size-4\" />\n * </ToggleGroupItem>\n * ```\n */\nfunction ToggleGroupItem({\n className,\n children,\n variant,\n size,\n ...props\n}: ToggleGroupItemProps) {\n const context = React.useContext(ToggleGroupContext);\n\n return (\n <ToggleGroupPrimitive.Item\n data-slot=\"toggle-group-item\"\n data-variant={context.variant || variant}\n data-size={context.size || size}\n className={cn(\n toggleVariants({\n variant: context.variant || variant,\n size: context.size || size,\n }),\n \"min-w-0 flex-1 shrink-0 rounded-none shadow-none first:rounded-l-md last:rounded-r-md focus:z-10 focus-visible:z-10 data-[variant=outline]:border-l-0 data-[variant=outline]:first:border-l\",\n className,\n )}\n {...props}\n >\n {children}\n </ToggleGroupPrimitive.Item>\n );\n}\n\nexport { ToggleGroup, ToggleGroupItem };\nexport type { ToggleGroupProps, ToggleGroupItemProps };"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Input } from './chunk-
|
|
2
|
-
import { Popover, PopoverTrigger, PopoverContent } from './chunk-
|
|
3
|
-
import { Button } from './chunk-
|
|
1
|
+
import { Input } from './chunk-4NBDYSSQ.js';
|
|
2
|
+
import { Popover, PopoverTrigger, PopoverContent } from './chunk-7NMNLY7F.js';
|
|
3
|
+
import { Button } from './chunk-BOV3Q2JH.js';
|
|
4
4
|
import { cn } from './chunk-DGPY4WP3.js';
|
|
5
5
|
import * as React from 'react';
|
|
6
6
|
import { Check } from 'lucide-react';
|
|
@@ -139,5 +139,5 @@ function ColorPicker({
|
|
|
139
139
|
}
|
|
140
140
|
|
|
141
141
|
export { ColorPicker };
|
|
142
|
-
//# sourceMappingURL=chunk-
|
|
143
|
-
//# sourceMappingURL=chunk-
|
|
142
|
+
//# sourceMappingURL=chunk-V3S2AZKJ.js.map
|
|
143
|
+
//# sourceMappingURL=chunk-V3S2AZKJ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/inputs/color-picker.tsx"],"names":[],"mappings":"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","file":"chunk-V3S2AZKJ.js","sourcesContent":["import * as React from \"react\";\nimport { Check } from \"lucide-react\";\nimport { cn } from \"../../lib/utils\";\nimport { Button } from \"./button\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"../overlay/popover\";\nimport { Input } from \"./input\";\n\nconst PRESET_COLORS = [\n \"#EF4444\", // Red\n \"#F97316\", // Orange\n \"#F59E0B\", // Amber\n \"#EAB308\", // Yellow\n \"#84CC16\", // Lime\n \"#22C55E\", // Green\n \"#10B981\", // Emerald\n \"#14B8A6\", // Teal\n \"#06B6D4\", // Cyan\n \"#0EA5E9\", // Sky\n \"#3B82F6\", // Blue\n \"#6366F1\", // Indigo\n \"#8B5CF6\", // Purple\n \"#A855F7\", // Violet\n \"#D946EF\", // Fuchsia\n \"#EC4899\", // Pink\n \"#F43F5E\", // Rose\n \"#64748B\", // Slate\n \"#6B7280\", // Gray\n \"#000000\", // Black\n];\n\ninterface ColorPickerProps {\n /** Currently selected color as a hex string (e.g., `\"#3B82F6\"`). */\n value?: string;\n /** Callback fired when a color is selected. Receives a hex string. */\n onChange?: (color: string) => void;\n /** Additional CSS class for the trigger button. */\n className?: string;\n /** Whether the color picker is disabled. */\n disabled?: boolean;\n /** Whether to show the preset color grid. Defaults to `true`. */\n showPresets?: boolean;\n /** Whether to show the custom hex input with native color picker. Defaults to `true`. */\n showInput?: boolean;\n}\n\n/**\n * Color picker with a popover containing preset color swatches and an optional custom hex input.\n * The trigger button shows the currently selected color swatch and its hex value.\n *\n * @example\n * ```tsx\n * const [color, setColor] = useState(\"#3B82F6\");\n *\n * <ColorPicker\n * value={color}\n * onChange={setColor}\n * showPresets\n * showInput\n * />\n * ```\n */\nexport function ColorPicker({\n value = \"#3B82F6\",\n onChange,\n className,\n disabled,\n showPresets = true,\n showInput = true,\n}: ColorPickerProps) {\n const [customColor, setCustomColor] = React.useState(value);\n\n const handleColorChange = (color: string) => {\n setCustomColor(color);\n onChange?.(color);\n };\n\n return (\n <Popover>\n <PopoverTrigger asChild>\n <Button\n variant=\"outline\"\n disabled={disabled}\n className={cn(\n \"w-full justify-start gap-2\",\n className\n )}\n >\n <div\n className=\"h-4 w-4 rounded border border-border\"\n style={{ backgroundColor: value }}\n />\n <span className=\"flex-1 text-left\">{value}</span>\n </Button>\n </PopoverTrigger>\n <PopoverContent className=\"w-64 p-3\" align=\"start\">\n <div className=\"space-y-3\">\n {showPresets && (\n <div>\n <div className=\"text-xs font-medium mb-2 text-foreground\">\n Màu mặc định\n </div>\n <div className=\"grid grid-cols-10 gap-1.5\">\n {PRESET_COLORS.map((color) => (\n <button\n key={color}\n type=\"button\"\n className={cn(\n \"h-6 w-6 rounded border-2 transition-all hover:scale-110\",\n value === color\n ? \"border-foreground ring-2 ring-foreground ring-offset-1\"\n : \"border-border\"\n )}\n style={{ backgroundColor: color }}\n onClick={() => handleColorChange(color)}\n >\n {value === color && (\n <Check className=\"w-3 h-3 text-white mx-auto drop-shadow\" />\n )}\n </button>\n ))}\n </div>\n </div>\n )}\n\n {showInput && (\n <div>\n <div className=\"text-xs font-medium mb-2 text-foreground\">\n Màu tùy chỉnh\n </div>\n <div className=\"flex gap-2\">\n <div className=\"relative flex-1\">\n <Input\n value={customColor}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => setCustomColor(e.target.value)}\n onBlur={() => {\n // Validate hex color\n if (/^#[0-9A-F]{6}$/i.test(customColor)) {\n handleColorChange(customColor);\n } else {\n setCustomColor(value);\n }\n }}\n placeholder=\"#000000\"\n className=\"pr-10\"\n />\n <input\n type=\"color\"\n value={customColor}\n onChange={(e) => {\n setCustomColor(e.target.value);\n handleColorChange(e.target.value);\n }}\n className=\"absolute right-2 top-1/2 -translate-y-1/2 h-6 w-6 rounded border border-border cursor-pointer\"\n />\n </div>\n </div>\n </div>\n )}\n </div>\n </PopoverContent>\n </Popover>\n );\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Card, CardContent } from './chunk-
|
|
1
|
+
import { Card, CardContent } from './chunk-DXKFFJIE.js';
|
|
2
2
|
import { cn } from './chunk-DGPY4WP3.js';
|
|
3
3
|
import { GitBranch, Bell, Eye, CheckCircle, Users, ArrowRight } from 'lucide-react';
|
|
4
4
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
@@ -61,5 +61,5 @@ function WorkflowDiagram({
|
|
|
61
61
|
}
|
|
62
62
|
|
|
63
63
|
export { WorkflowDiagram };
|
|
64
|
-
//# sourceMappingURL=chunk-
|
|
65
|
-
//# sourceMappingURL=chunk-
|
|
64
|
+
//# sourceMappingURL=chunk-VATNOBZ2.js.map
|
|
65
|
+
//# sourceMappingURL=chunk-VATNOBZ2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/domain/workflow/workflow-diagram.tsx"],"names":[],"mappings":"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","file":"chunk-VATNOBZ2.js","sourcesContent":["import { ArrowRight, CheckCircle, Eye, Bell, GitBranch, Users } from 'lucide-react';\nimport { cn } from '../../../lib/utils';\nimport { Card, CardContent } from '../../display/card';\n\n/**\n * Supported stage types for the workflow diagram. Each type has a dedicated\n * icon (CheckCircle, Eye, Bell, GitBranch) and color.\n */\nexport type WorkflowDiagramStageType = 'approval' | 'review' | 'notification' | 'conditional';\n\n/** A single stage in the workflow diagram. */\nexport interface WorkflowDiagramStage {\n /** Unique identifier for this stage. */\n id: string;\n /** Display name shown on the stage card. */\n name: string;\n /** Stage type that determines the icon and color. */\n type: WorkflowDiagramStageType;\n /** List of user IDs assigned as approvers. Count is displayed on the card. */\n approverIds: string[];\n /** Numeric order used to sort stages left-to-right. */\n order: number;\n}\n\n/** User-visible labels for the workflow diagram. All have English defaults. */\nexport interface WorkflowDiagramLabels {\n /** Label shown above stage name for each stage type */\n approval?: string;\n review?: string;\n notification?: string;\n conditional?: string;\n /** Text for the approver count (e.g. \"approvers\") */\n approvers?: string;\n}\n\nexport interface WorkflowDiagramProps {\n /** Ordered list of stages to display. Will be sorted by `order`. */\n stages: WorkflowDiagramStage[];\n /** The id of the currently active stage. Highlighted with a blue border. */\n currentStageId?: string;\n /** User-visible labels with English defaults. */\n labels?: WorkflowDiagramLabels;\n /** Optional additional className for the root container. */\n className?: string;\n}\n\nconst stageIcons: Record<WorkflowDiagramStageType, typeof CheckCircle> = {\n approval: CheckCircle,\n review: Eye,\n notification: Bell,\n conditional: GitBranch,\n};\n\nconst stageColors: Record<WorkflowDiagramStageType, string> = {\n approval: 'text-green-600 dark:text-green-400',\n review: 'text-blue-600 dark:text-blue-400',\n notification: 'text-amber-600 dark:text-amber-400',\n conditional: 'text-purple-600 dark:text-purple-400',\n};\n\nconst defaultLabels: Required<WorkflowDiagramLabels> = {\n approval: 'Approval',\n review: 'Review',\n notification: 'Notification',\n conditional: 'Conditional',\n approvers: 'approvers',\n};\n\n/**\n * WorkflowDiagram renders a horizontal flow of workflow stages as cards\n * connected by arrows.\n *\n * Each stage card displays an icon based on stage type, the stage name,\n * and an optional approver count. The current stage is highlighted with\n * a blue border.\n *\n * @example\n * ```tsx\n * <WorkflowDiagram\n * stages={[\n * { id: \"s1\", name: \"Manager Review\", type: \"review\", approverIds: [\"u1\"], order: 1 },\n * { id: \"s2\", name: \"Final Approval\", type: \"approval\", approverIds: [\"u2\", \"u3\"], order: 2 },\n * ]}\n * currentStageId=\"s1\"\n * labels={{ approvers: \"approvers\" }}\n * />\n * ```\n */\nexport function WorkflowDiagram({\n stages,\n currentStageId,\n labels,\n className,\n}: WorkflowDiagramProps) {\n const sortedStages = [...stages].sort((a, b) => a.order - b.order);\n\n const resolvedLabels = { ...defaultLabels, ...labels };\n\n const typeLabels: Record<WorkflowDiagramStageType, string> = {\n approval: resolvedLabels.approval,\n review: resolvedLabels.review,\n notification: resolvedLabels.notification,\n conditional: resolvedLabels.conditional,\n };\n\n return (\n <div className={cn('flex items-start gap-2 overflow-x-auto pb-2', className)}>\n {sortedStages.map((stage, index) => {\n const Icon = stageIcons[stage.type];\n const isCurrent = stage.id === currentStageId;\n\n return (\n <div key={stage.id} className=\"flex items-center gap-2 flex-shrink-0\">\n <Card className={cn('w-48', isCurrent && 'border-primary border-2')}>\n <CardContent className=\"px-3 py-3\">\n <div className=\"flex items-center gap-2 mb-1\">\n <Icon className={cn('w-4 h-4', stageColors[stage.type])} />\n <span className=\"text-xs font-medium text-muted-foreground\">\n {typeLabels[stage.type]}\n </span>\n </div>\n <p className=\"text-sm font-medium truncate\">{stage.name}</p>\n {stage.approverIds.length > 0 && (\n <div className=\"flex items-center gap-1 mt-1.5 text-xs text-muted-foreground\">\n <Users className=\"w-3 h-3\" />\n <span>\n {stage.approverIds.length} {resolvedLabels.approvers.toLowerCase()}\n </span>\n </div>\n )}\n </CardContent>\n </Card>\n {index < sortedStages.length - 1 && (\n <ArrowRight className=\"w-4 h-4 text-muted-foreground flex-shrink-0\" />\n )}\n </div>\n );\n })}\n </div>\n );\n}\n"]}
|
|
@@ -117,5 +117,5 @@ function SheetDescription({
|
|
|
117
117
|
}
|
|
118
118
|
|
|
119
119
|
export { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger };
|
|
120
|
-
//# sourceMappingURL=chunk-
|
|
121
|
-
//# sourceMappingURL=chunk-
|
|
120
|
+
//# sourceMappingURL=chunk-VOLR236J.js.map
|
|
121
|
+
//# sourceMappingURL=chunk-VOLR236J.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/overlay/sheet.tsx"],"names":[],"mappings":"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","file":"chunk-VOLR236J.js","sourcesContent":["import * as React from \"react\";\nimport * as SheetPrimitive from \"@radix-ui/react-dialog\";\nimport { XIcon } from \"lucide-react\";\n\nimport { cn } from \"../../lib/utils\";\n\n/**\n * Slide-out panel component built on Radix UI Dialog.\n *\n * A sheet slides in from the edge of the screen, ideal for navigation,\n * filters, or supplementary content. Supports `top`, `right`, `bottom`,\n * and `left` sides via the `side` prop on `SheetContent`.\n *\n * @example\n * ```tsx\n * <Sheet open={open} onOpenChange={setOpen}>\n * <SheetTrigger asChild>\n * <Button variant=\"outline\">Open Sheet</Button>\n * </SheetTrigger>\n * <SheetContent side=\"right\">\n * <SheetHeader>\n * <SheetTitle>Settings</SheetTitle>\n * <SheetDescription>\n * Adjust your preferences below.\n * </SheetDescription>\n * </SheetHeader>\n * <div className=\"p-4\">Content here</div>\n * <SheetFooter>\n * <Button onClick={() => setOpen(false)}>Done</Button>\n * </SheetFooter>\n * </SheetContent>\n * </Sheet>\n * ```\n */\nfunction Sheet({ ...props }: React.ComponentProps<typeof SheetPrimitive.Root>) {\n return <SheetPrimitive.Root data-slot=\"sheet\" {...props} />;\n}\n\n/** Element that opens the sheet when clicked. Use `asChild` to merge into your own button. */\nfunction SheetTrigger({\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Trigger>) {\n return <SheetPrimitive.Trigger data-slot=\"sheet-trigger\" {...props} />;\n}\n\n/** Button that closes the sheet. Use `asChild` to merge into your own button. */\nfunction SheetClose({\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Close>) {\n return <SheetPrimitive.Close data-slot=\"sheet-close\" {...props} />;\n}\n\n/** Portal that renders sheet content outside the DOM hierarchy. */\nfunction SheetPortal({\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Portal>) {\n return <SheetPrimitive.Portal data-slot=\"sheet-portal\" {...props} />;\n}\n\n/** Semi-transparent backdrop rendered behind the sheet panel. */\nfunction SheetOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Overlay>) {\n return (\n <SheetPrimitive.Overlay\n data-slot=\"sheet-overlay\"\n className={cn(\n \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Sliding content panel. Set `side` to control which edge it slides from (default: `\"right\"`). */\nfunction SheetContent({\n className,\n children,\n side = \"right\",\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Content> & {\n side?: \"top\" | \"right\" | \"bottom\" | \"left\";\n}) {\n return (\n <SheetPortal>\n <SheetOverlay />\n <SheetPrimitive.Content\n data-slot=\"sheet-content\"\n className={cn(\n \"bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500\",\n side === \"right\" &&\n \"data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm\",\n side === \"left\" &&\n \"data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm\",\n side === \"top\" &&\n \"data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b\",\n side === \"bottom\" &&\n \"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t\",\n className,\n )}\n {...props}\n >\n {children}\n <SheetPrimitive.Close className=\"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none\">\n <XIcon className=\"size-4\" />\n <span className=\"sr-only\">Close</span>\n </SheetPrimitive.Close>\n </SheetPrimitive.Content>\n </SheetPortal>\n );\n}\n\n/** Container for SheetTitle and SheetDescription at the top of the sheet. */\nfunction SheetHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sheet-header\"\n className={cn(\"flex flex-col gap-1.5 p-[var(--density-sheet)]\", className)}\n {...props}\n />\n );\n}\n\n/** Container for action buttons at the bottom of the sheet. Pushed to the bottom via `mt-auto`. */\nfunction SheetFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sheet-footer\"\n className={cn(\"mt-auto flex flex-col gap-2 p-[var(--density-sheet)]\", className)}\n {...props}\n />\n );\n}\n\n/** Accessible title rendered inside SheetHeader. */\nfunction SheetTitle({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Title>) {\n return (\n <SheetPrimitive.Title\n data-slot=\"sheet-title\"\n className={cn(\"text-foreground font-semibold\", className)}\n {...props}\n />\n );\n}\n\n/** Accessible description rendered inside SheetHeader below the title. */\nfunction SheetDescription({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Description>) {\n return (\n <SheetPrimitive.Description\n data-slot=\"sheet-description\"\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n );\n}\n\nexport {\n Sheet,\n SheetTrigger,\n SheetClose,\n SheetContent,\n SheetHeader,\n SheetFooter,\n SheetTitle,\n SheetDescription,\n};"]}
|