@parto-system-design/ui 1.1.11 → 1.1.17
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/components/brand/parto-logo.cjs +130 -0
- package/dist/components/brand/parto-logo.cjs.map +1 -0
- package/dist/components/brand/parto-logo.d.cts +38 -0
- package/dist/components/brand/parto-logo.d.ts +38 -0
- package/dist/components/brand/parto-logo.js +108 -0
- package/dist/components/brand/parto-logo.js.map +1 -0
- package/dist/components/charts/PartoAreaChart.cjs +579 -7
- package/dist/components/charts/PartoAreaChart.cjs.map +1 -1
- package/dist/components/charts/PartoAreaChart.js +564 -4
- package/dist/components/charts/PartoAreaChart.js.map +1 -1
- package/dist/components/charts/PartoBarChart.cjs +616 -7
- package/dist/components/charts/PartoBarChart.cjs.map +1 -1
- package/dist/components/charts/PartoBarChart.js +601 -4
- package/dist/components/charts/PartoBarChart.js.map +1 -1
- package/dist/components/charts/PartoLineChart.cjs +584 -7
- package/dist/components/charts/PartoLineChart.cjs.map +1 -1
- package/dist/components/charts/PartoLineChart.js +569 -4
- package/dist/components/charts/PartoLineChart.js.map +1 -1
- package/dist/components/charts/PartoPieChart.cjs +566 -7
- package/dist/components/charts/PartoPieChart.cjs.map +1 -1
- package/dist/components/charts/PartoPieChart.js +551 -4
- package/dist/components/charts/PartoPieChart.js.map +1 -1
- package/dist/components/ui/accordion.cjs +97 -0
- package/dist/components/ui/accordion.cjs.map +1 -0
- package/dist/components/ui/accordion.d.cts +22 -0
- package/dist/components/ui/accordion.d.ts +22 -0
- package/dist/components/ui/accordion.js +72 -0
- package/dist/components/ui/accordion.js.map +1 -0
- package/dist/{chunk-MMC6M35Q.cjs → components/ui/alert-dialog.cjs} +216 -22
- package/dist/components/ui/alert-dialog.cjs.map +1 -0
- package/dist/components/ui/alert-dialog.d.cts +17 -0
- package/dist/components/ui/alert-dialog.d.ts +17 -0
- package/dist/{chunk-3QYYPPFJ.js → components/ui/alert-dialog.js} +175 -10
- package/dist/components/ui/alert-dialog.js.map +1 -0
- package/dist/components/ui/alert-rule-card.cjs +289 -8
- package/dist/components/ui/alert-rule-card.cjs.map +1 -1
- package/dist/components/ui/alert-rule-card.d.cts +1 -1
- package/dist/components/ui/alert-rule-card.d.ts +1 -1
- package/dist/components/ui/alert-rule-card.js +271 -4
- package/dist/components/ui/alert-rule-card.js.map +1 -1
- package/dist/components/ui/alert.cjs +81 -0
- package/dist/components/ui/alert.cjs.map +1 -0
- package/dist/components/ui/alert.d.cts +11 -0
- package/dist/components/ui/alert.d.ts +11 -0
- package/dist/components/ui/alert.js +57 -0
- package/dist/components/ui/alert.js.map +1 -0
- package/dist/components/ui/app-bar.cjs +67 -0
- package/dist/components/ui/app-bar.cjs.map +1 -0
- package/dist/components/ui/app-bar.d.cts +22 -0
- package/dist/components/ui/app-bar.d.ts +22 -0
- package/dist/components/ui/app-bar.js +44 -0
- package/dist/components/ui/app-bar.js.map +1 -0
- package/dist/components/ui/avatar.cjs +66 -14
- package/dist/components/ui/avatar.cjs.map +1 -1
- package/dist/components/ui/avatar.js +47 -2
- package/dist/components/ui/avatar.js.map +1 -1
- package/dist/components/ui/badge.cjs +113 -9
- package/dist/components/ui/badge.cjs.map +1 -1
- package/dist/components/ui/badge.js +96 -2
- package/dist/components/ui/badge.js.map +1 -1
- package/dist/components/ui/breadcrumb.cjs +100 -0
- package/dist/components/ui/breadcrumb.cjs.map +1 -0
- package/dist/components/ui/breadcrumb.d.cts +35 -0
- package/dist/components/ui/breadcrumb.d.ts +35 -0
- package/dist/components/ui/breadcrumb.js +92 -0
- package/dist/components/ui/breadcrumb.js.map +1 -0
- package/dist/components/ui/button.cjs +304 -11
- package/dist/components/ui/button.cjs.map +1 -1
- package/dist/components/ui/button.d.cts +1 -1
- package/dist/components/ui/button.d.ts +1 -1
- package/dist/components/ui/button.js +306 -3
- package/dist/components/ui/button.js.map +1 -1
- package/dist/components/ui/calendar.cjs +401 -8
- package/dist/components/ui/calendar.cjs.map +1 -1
- package/dist/components/ui/calendar.js +404 -4
- package/dist/components/ui/calendar.js.map +1 -1
- package/dist/components/ui/card.cjs +154 -30
- package/dist/components/ui/card.cjs.map +1 -1
- package/dist/components/ui/card.js +131 -2
- package/dist/components/ui/card.js.map +1 -1
- package/dist/{chunk-CAJKSTXX.cjs → components/ui/checkbox.cjs} +10 -5
- package/dist/components/ui/checkbox.cjs.map +1 -0
- package/dist/components/ui/checkbox.d.cts +6 -0
- package/dist/components/ui/checkbox.d.ts +6 -0
- package/dist/{chunk-5JJSRGJD.js → components/ui/checkbox.js} +9 -4
- package/dist/components/ui/checkbox.js.map +1 -0
- package/dist/components/ui/concept-card.cjs +728 -11
- package/dist/components/ui/concept-card.cjs.map +1 -1
- package/dist/components/ui/concept-card.d.cts +2 -2
- package/dist/components/ui/concept-card.d.ts +2 -2
- package/dist/components/ui/concept-card.js +710 -7
- package/dist/components/ui/concept-card.js.map +1 -1
- package/dist/components/ui/data-table.cjs +1553 -10
- package/dist/components/ui/data-table.cjs.map +1 -1
- package/dist/components/ui/data-table.js +1537 -7
- package/dist/components/ui/data-table.js.map +1 -1
- package/dist/components/ui/dialog.cjs +119 -42
- package/dist/components/ui/dialog.cjs.map +1 -1
- package/dist/components/ui/dialog.js +92 -2
- package/dist/components/ui/dialog.js.map +1 -1
- package/dist/components/ui/dropdown-menu.cjs +268 -0
- package/dist/components/ui/dropdown-menu.cjs.map +1 -0
- package/dist/components/ui/dropdown-menu.d.cts +73 -0
- package/dist/components/ui/dropdown-menu.d.ts +73 -0
- package/dist/components/ui/dropdown-menu.js +232 -0
- package/dist/components/ui/dropdown-menu.js.map +1 -0
- package/dist/components/ui/filter-provider.cjs +70 -13
- package/dist/components/ui/filter-provider.cjs.map +1 -1
- package/dist/components/ui/filter-provider.js +51 -1
- package/dist/components/ui/filter-provider.js.map +1 -1
- package/dist/components/ui/form.cjs +169 -0
- package/dist/components/ui/form.cjs.map +1 -0
- package/dist/components/ui/form.d.cts +46 -0
- package/dist/components/ui/form.d.ts +46 -0
- package/dist/components/ui/form.js +139 -0
- package/dist/components/ui/form.js.map +1 -0
- package/dist/components/ui/input.cjs +135 -15
- package/dist/components/ui/input.cjs.map +1 -1
- package/dist/components/ui/input.d.cts +15 -0
- package/dist/components/ui/input.d.ts +15 -0
- package/dist/components/ui/input.js +116 -3
- package/dist/components/ui/input.js.map +1 -1
- package/dist/components/ui/iran-province-heat.cjs +328 -5
- package/dist/components/ui/iran-province-heat.cjs.map +1 -1
- package/dist/components/ui/iran-province-heat.js +312 -2
- package/dist/components/ui/iran-province-heat.js.map +1 -1
- package/dist/components/ui/label.cjs +52 -0
- package/dist/components/ui/label.cjs.map +1 -0
- package/dist/components/ui/label.d.cts +10 -0
- package/dist/components/ui/label.d.ts +10 -0
- package/dist/components/ui/label.js +30 -0
- package/dist/components/ui/label.js.map +1 -0
- package/dist/components/ui/page-card.cjs +627 -8
- package/dist/components/ui/page-card.cjs.map +1 -1
- package/dist/components/ui/page-card.d.cts +3 -2
- package/dist/components/ui/page-card.d.ts +3 -2
- package/dist/components/ui/page-card.js +611 -5
- package/dist/components/ui/page-card.js.map +1 -1
- package/dist/components/ui/page-header.cjs +299 -0
- package/dist/components/ui/page-header.cjs.map +1 -0
- package/dist/components/ui/page-header.d.cts +21 -0
- package/dist/components/ui/page-header.d.ts +21 -0
- package/dist/components/ui/page-header.js +277 -0
- package/dist/components/ui/page-header.js.map +1 -0
- package/dist/components/ui/password-input.cjs +168 -0
- package/dist/components/ui/password-input.cjs.map +1 -0
- package/dist/components/ui/password-input.d.cts +48 -0
- package/dist/components/ui/password-input.d.ts +48 -0
- package/dist/components/ui/password-input.js +146 -0
- package/dist/components/ui/password-input.js.map +1 -0
- package/dist/components/ui/popover.cjs +51 -18
- package/dist/components/ui/popover.cjs.map +1 -1
- package/dist/components/ui/popover.js +30 -2
- package/dist/components/ui/popover.js.map +1 -1
- package/dist/components/ui/progress.cjs +95 -0
- package/dist/components/ui/progress.cjs.map +1 -0
- package/dist/components/ui/progress.d.cts +18 -0
- package/dist/components/ui/progress.d.ts +18 -0
- package/dist/components/ui/progress.js +72 -0
- package/dist/components/ui/progress.js.map +1 -0
- package/dist/components/ui/radio-card.cjs +84 -0
- package/dist/components/ui/radio-card.cjs.map +1 -0
- package/dist/components/ui/radio-card.d.cts +12 -0
- package/dist/components/ui/radio-card.d.ts +12 -0
- package/dist/components/ui/radio-card.js +58 -0
- package/dist/components/ui/radio-card.js.map +1 -0
- package/dist/components/ui/radio-group.cjs +62 -0
- package/dist/components/ui/radio-group.cjs.map +1 -0
- package/dist/components/ui/radio-group.d.cts +7 -0
- package/dist/components/ui/radio-group.d.ts +7 -0
- package/dist/components/ui/radio-group.js +38 -0
- package/dist/components/ui/radio-group.js.map +1 -0
- package/dist/components/ui/saved-query-card.cjs +409 -7
- package/dist/components/ui/saved-query-card.cjs.map +1 -1
- package/dist/components/ui/saved-query-card.js +394 -4
- package/dist/components/ui/saved-query-card.js.map +1 -1
- package/dist/components/ui/scroll-area.cjs +79 -0
- package/dist/components/ui/scroll-area.cjs.map +1 -0
- package/dist/components/ui/scroll-area.d.cts +14 -0
- package/dist/components/ui/scroll-area.d.ts +14 -0
- package/dist/components/ui/scroll-area.js +56 -0
- package/dist/components/ui/scroll-area.js.map +1 -0
- package/dist/components/ui/select.cjs +242 -0
- package/dist/components/ui/select.cjs.map +1 -0
- package/dist/components/ui/select.d.cts +29 -0
- package/dist/components/ui/select.d.ts +29 -0
- package/dist/components/ui/select.js +210 -0
- package/dist/components/ui/select.js.map +1 -0
- package/dist/components/ui/separator.cjs +105 -6
- package/dist/components/ui/separator.cjs.map +1 -1
- package/dist/components/ui/separator.js +87 -2
- package/dist/components/ui/separator.js.map +1 -1
- package/dist/components/ui/sheet.cjs +134 -38
- package/dist/components/ui/sheet.cjs.map +1 -1
- package/dist/components/ui/sheet.js +109 -2
- package/dist/components/ui/sheet.js.map +1 -1
- package/dist/{chunk-D2EBLE2B.cjs → components/ui/skeleton.cjs} +21 -16
- package/dist/components/ui/skeleton.cjs.map +1 -0
- package/dist/components/ui/skeleton.d.cts +90 -0
- package/dist/components/ui/skeleton.d.ts +90 -0
- package/dist/{chunk-SB5DSYR5.js → components/ui/skeleton.js} +8 -3
- package/dist/components/ui/skeleton.js.map +1 -0
- package/dist/components/ui/slider.cjs +129 -0
- package/dist/components/ui/slider.cjs.map +1 -0
- package/dist/components/ui/slider.d.cts +10 -0
- package/dist/components/ui/slider.d.ts +10 -0
- package/dist/components/ui/slider.js +107 -0
- package/dist/components/ui/slider.js.map +1 -0
- package/dist/components/ui/social-platform-badge.cjs +120 -0
- package/dist/components/ui/social-platform-badge.cjs.map +1 -0
- package/dist/components/ui/social-platform-badge.d.cts +21 -0
- package/dist/components/ui/social-platform-badge.d.ts +21 -0
- package/dist/components/ui/social-platform-badge.js +97 -0
- package/dist/components/ui/social-platform-badge.js.map +1 -0
- package/dist/components/ui/sonner.cjs +51 -0
- package/dist/components/ui/sonner.cjs.map +1 -0
- package/dist/components/ui/sonner.d.cts +13 -0
- package/dist/components/ui/sonner.d.ts +13 -0
- package/dist/components/ui/sonner.js +45 -0
- package/dist/components/ui/sonner.js.map +1 -0
- package/dist/components/ui/sparkline.cjs +159 -6
- package/dist/components/ui/sparkline.cjs.map +1 -1
- package/dist/components/ui/sparkline.js +142 -2
- package/dist/components/ui/sparkline.js.map +1 -1
- package/dist/components/ui/switch.cjs +96 -0
- package/dist/components/ui/switch.cjs.map +1 -0
- package/dist/components/ui/switch.d.cts +13 -0
- package/dist/components/ui/switch.d.ts +13 -0
- package/dist/components/ui/switch.js +73 -0
- package/dist/components/ui/switch.js.map +1 -0
- package/dist/components/ui/table.cjs +188 -0
- package/dist/components/ui/table.cjs.map +1 -0
- package/dist/components/ui/table.d.cts +59 -0
- package/dist/components/ui/table.d.ts +59 -0
- package/dist/components/ui/table.js +178 -0
- package/dist/components/ui/table.js.map +1 -0
- package/dist/components/ui/tabs.cjs +140 -0
- package/dist/components/ui/tabs.cjs.map +1 -0
- package/dist/components/ui/tabs.d.cts +21 -0
- package/dist/components/ui/tabs.d.ts +21 -0
- package/dist/components/ui/tabs.js +115 -0
- package/dist/components/ui/tabs.js.map +1 -0
- package/dist/components/ui/textarea.cjs +56 -0
- package/dist/components/ui/textarea.cjs.map +1 -0
- package/dist/components/ui/textarea.d.cts +5 -0
- package/dist/components/ui/textarea.d.ts +5 -0
- package/dist/components/ui/textarea.js +34 -0
- package/dist/components/ui/textarea.js.map +1 -0
- package/dist/components/ui/toggle-group.cjs +123 -0
- package/dist/components/ui/toggle-group.cjs.map +1 -0
- package/dist/components/ui/toggle-group.d.cts +7 -0
- package/dist/components/ui/toggle-group.d.ts +7 -0
- package/dist/components/ui/toggle-group.js +99 -0
- package/dist/components/ui/toggle-group.js.map +1 -0
- package/dist/components/ui/tooltip.cjs +77 -18
- package/dist/components/ui/tooltip.cjs.map +1 -1
- package/dist/components/ui/tooltip.js +56 -2
- package/dist/components/ui/tooltip.js.map +1 -1
- package/dist/{concept-card-RwPbqJ06.d.cts → concept-card-BXra9mr0.d.cts} +2 -2
- package/dist/{concept-card-CcOBb2Nz.d.ts → concept-card-BoJ5gIJD.d.ts} +2 -2
- package/dist/hooks/use-hotkey-registry.cjs +201 -14
- package/dist/hooks/use-hotkey-registry.cjs.map +1 -1
- package/dist/hooks/use-hotkey-registry.js +182 -2
- package/dist/hooks/use-hotkey-registry.js.map +1 -1
- package/dist/hooks/use-hotkeys.cjs +144 -9
- package/dist/hooks/use-hotkeys.cjs.map +1 -1
- package/dist/hooks/use-hotkeys.js +126 -1
- package/dist/hooks/use-hotkeys.js.map +1 -1
- package/dist/{i18n-CAd9wGOr.d.cts → i18n-BfRhV5aw.d.cts} +5 -3
- package/dist/{i18n-ArS3mqj0.d.ts → i18n-ewyqbKM-.d.ts} +5 -3
- package/dist/index.cjs +21003 -15720
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +412 -71
- package/dist/index.d.cts +82 -490
- package/dist/index.d.ts +82 -490
- package/dist/index.js +6727 -976
- package/dist/index.js.map +1 -1
- package/dist/{page-card-CmShVqG-.d.cts → page-card-C9XXXOVr.d.cts} +3 -20
- package/dist/{page-card-HBn-cy4J.d.ts → page-card-DAnbez_f.d.ts} +3 -20
- package/dist/toggle-group-B8r4LOQw.d.cts +26 -0
- package/dist/toggle-group-B8r4LOQw.d.ts +26 -0
- package/package.json +132 -2
- package/tailwind.config.ts +45 -0
- package/dist/chunk-2ACKKPWA.cjs +0 -112
- package/dist/chunk-2ACKKPWA.cjs.map +0 -1
- package/dist/chunk-2UD3LGVX.cjs +0 -316
- package/dist/chunk-2UD3LGVX.cjs.map +0 -1
- package/dist/chunk-3QYYPPFJ.js.map +0 -1
- package/dist/chunk-4SVQNEVH.js +0 -173
- package/dist/chunk-4SVQNEVH.js.map +0 -1
- package/dist/chunk-4WONHORR.cjs +0 -152
- package/dist/chunk-4WONHORR.cjs.map +0 -1
- package/dist/chunk-5HCXH6GS.js +0 -409
- package/dist/chunk-5HCXH6GS.js.map +0 -1
- package/dist/chunk-5JJSRGJD.js.map +0 -1
- package/dist/chunk-5K6E4ZSW.cjs +0 -77
- package/dist/chunk-5K6E4ZSW.cjs.map +0 -1
- package/dist/chunk-5NY26ULO.js +0 -89
- package/dist/chunk-5NY26ULO.js.map +0 -1
- package/dist/chunk-7RVPG3LE.cjs +0 -231
- package/dist/chunk-7RVPG3LE.cjs.map +0 -1
- package/dist/chunk-AYEK3WOM.js +0 -207
- package/dist/chunk-AYEK3WOM.js.map +0 -1
- package/dist/chunk-BRMBLIQG.js +0 -53
- package/dist/chunk-BRMBLIQG.js.map +0 -1
- package/dist/chunk-CAJKSTXX.cjs.map +0 -1
- package/dist/chunk-CKFWMHQU.js +0 -401
- package/dist/chunk-CKFWMHQU.js.map +0 -1
- package/dist/chunk-CV3N3HVK.js +0 -672
- package/dist/chunk-CV3N3HVK.js.map +0 -1
- package/dist/chunk-D2EBLE2B.cjs.map +0 -1
- package/dist/chunk-GCZ6YATL.js +0 -940
- package/dist/chunk-GCZ6YATL.js.map +0 -1
- package/dist/chunk-GKRAZGDI.cjs +0 -84
- package/dist/chunk-GKRAZGDI.cjs.map +0 -1
- package/dist/chunk-GPYJ66CG.js +0 -45
- package/dist/chunk-GPYJ66CG.js.map +0 -1
- package/dist/chunk-HF6XU5NI.js +0 -84
- package/dist/chunk-HF6XU5NI.js.map +0 -1
- package/dist/chunk-HJPDZOMJ.cjs +0 -87
- package/dist/chunk-HJPDZOMJ.cjs.map +0 -1
- package/dist/chunk-HS3XI3CC.cjs +0 -69
- package/dist/chunk-HS3XI3CC.cjs.map +0 -1
- package/dist/chunk-HUCC3QH5.cjs +0 -53
- package/dist/chunk-HUCC3QH5.cjs.map +0 -1
- package/dist/chunk-HYZ6BQPS.cjs +0 -425
- package/dist/chunk-HYZ6BQPS.cjs.map +0 -1
- package/dist/chunk-ISCSZMYW.cjs +0 -106
- package/dist/chunk-ISCSZMYW.cjs.map +0 -1
- package/dist/chunk-IXFEFIDO.js +0 -82
- package/dist/chunk-IXFEFIDO.js.map +0 -1
- package/dist/chunk-JCJLN437.js +0 -108
- package/dist/chunk-JCJLN437.js.map +0 -1
- package/dist/chunk-JMKNNH63.cjs +0 -982
- package/dist/chunk-JMKNNH63.cjs.map +0 -1
- package/dist/chunk-JUBHQAA2.js +0 -53
- package/dist/chunk-JUBHQAA2.js.map +0 -1
- package/dist/chunk-K6G63EED.cjs +0 -41
- package/dist/chunk-K6G63EED.cjs.map +0 -1
- package/dist/chunk-KCWRCSI7.js +0 -62
- package/dist/chunk-KCWRCSI7.js.map +0 -1
- package/dist/chunk-KYM7NIJO.cjs +0 -433
- package/dist/chunk-KYM7NIJO.cjs.map +0 -1
- package/dist/chunk-L2L5CKC2.js +0 -291
- package/dist/chunk-L2L5CKC2.js.map +0 -1
- package/dist/chunk-M5CHZ5BA.js +0 -124
- package/dist/chunk-M5CHZ5BA.js.map +0 -1
- package/dist/chunk-MEK4RSGC.js +0 -65
- package/dist/chunk-MEK4RSGC.js.map +0 -1
- package/dist/chunk-MEKWH3GS.js +0 -89
- package/dist/chunk-MEKWH3GS.js.map +0 -1
- package/dist/chunk-MFTX2DDQ.js +0 -27
- package/dist/chunk-MFTX2DDQ.js.map +0 -1
- package/dist/chunk-MMC6M35Q.cjs.map +0 -1
- package/dist/chunk-NMH43BDC.js +0 -130
- package/dist/chunk-NMH43BDC.js.map +0 -1
- package/dist/chunk-NORDUD2T.cjs +0 -135
- package/dist/chunk-NORDUD2T.cjs.map +0 -1
- package/dist/chunk-NV4JOKWL.cjs +0 -197
- package/dist/chunk-NV4JOKWL.cjs.map +0 -1
- package/dist/chunk-O2JG7WY5.cjs +0 -121
- package/dist/chunk-O2JG7WY5.cjs.map +0 -1
- package/dist/chunk-ONO2FTV4.cjs +0 -68
- package/dist/chunk-ONO2FTV4.cjs.map +0 -1
- package/dist/chunk-OQB6HIUL.cjs +0 -108
- package/dist/chunk-OQB6HIUL.cjs.map +0 -1
- package/dist/chunk-OS6CMYAS.cjs +0 -79
- package/dist/chunk-OS6CMYAS.cjs.map +0 -1
- package/dist/chunk-PYURPUTV.js +0 -402
- package/dist/chunk-PYURPUTV.js.map +0 -1
- package/dist/chunk-RJ3HYZ7S.js +0 -44
- package/dist/chunk-RJ3HYZ7S.js.map +0 -1
- package/dist/chunk-RZNRIOLT.js +0 -128
- package/dist/chunk-RZNRIOLT.js.map +0 -1
- package/dist/chunk-S3T2L6NA.js +0 -38
- package/dist/chunk-S3T2L6NA.js.map +0 -1
- package/dist/chunk-S5IPJQZ3.cjs +0 -161
- package/dist/chunk-S5IPJQZ3.cjs.map +0 -1
- package/dist/chunk-SB5DSYR5.js.map +0 -1
- package/dist/chunk-SFXV2DUH.js +0 -106
- package/dist/chunk-SFXV2DUH.js.map +0 -1
- package/dist/chunk-SXEPGD4Z.cjs +0 -152
- package/dist/chunk-SXEPGD4Z.cjs.map +0 -1
- package/dist/chunk-SXWSOU3Y.js +0 -89
- package/dist/chunk-SXWSOU3Y.js.map +0 -1
- package/dist/chunk-SZMVOHT7.cjs +0 -107
- package/dist/chunk-SZMVOHT7.cjs.map +0 -1
- package/dist/chunk-TWJXOV4C.js +0 -145
- package/dist/chunk-TWJXOV4C.js.map +0 -1
- package/dist/chunk-U3ADRIVO.cjs +0 -434
- package/dist/chunk-U3ADRIVO.cjs.map +0 -1
- package/dist/chunk-U5FLLCGC.cjs +0 -151
- package/dist/chunk-U5FLLCGC.cjs.map +0 -1
- package/dist/chunk-UOZN45G4.cjs +0 -130
- package/dist/chunk-UOZN45G4.cjs.map +0 -1
- package/dist/chunk-VHLDOG74.cjs +0 -167
- package/dist/chunk-VHLDOG74.cjs.map +0 -1
- package/dist/chunk-YC5KLN6I.js +0 -139
- package/dist/chunk-YC5KLN6I.js.map +0 -1
- package/dist/chunk-YENXXYUV.cjs +0 -111
- package/dist/chunk-YENXXYUV.cjs.map +0 -1
- package/dist/chunk-YFQWC2PW.js +0 -113
- package/dist/chunk-YFQWC2PW.js.map +0 -1
- package/dist/chunk-Z2TY4A75.cjs +0 -700
- package/dist/chunk-Z2TY4A75.cjs.map +0 -1
- package/dist/chunk-Z56O7UEU.cjs +0 -136
- package/dist/chunk-Z56O7UEU.cjs.map +0 -1
- package/dist/chunk-ZBZDR4ZC.js +0 -106
- package/dist/chunk-ZBZDR4ZC.js.map +0 -1
package/dist/chunk-SXEPGD4Z.cjs
DELETED
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var chunkNV4JOKWL_cjs = require('./chunk-NV4JOKWL.cjs');
|
|
4
|
-
var React = require('react');
|
|
5
|
-
var classVarianceAuthority = require('class-variance-authority');
|
|
6
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
7
|
-
|
|
8
|
-
function _interopNamespace(e) {
|
|
9
|
-
if (e && e.__esModule) return e;
|
|
10
|
-
var n = Object.create(null);
|
|
11
|
-
if (e) {
|
|
12
|
-
Object.keys(e).forEach(function (k) {
|
|
13
|
-
if (k !== 'default') {
|
|
14
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
15
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
16
|
-
enumerable: true,
|
|
17
|
-
get: function () { return e[k]; }
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
n.default = e;
|
|
23
|
-
return Object.freeze(n);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
27
|
-
|
|
28
|
-
var cardVariants = classVarianceAuthority.cva(
|
|
29
|
-
// A Card is a visual container, not a focusable surface. Do not apply
|
|
30
|
-
// focus-within rings to the base — that bleeds the ring of whatever
|
|
31
|
-
// input/button inside has focus onto the whole card. The `interactive`
|
|
32
|
-
// variant below opts into focus-visible explicitly because it IS clickable.
|
|
33
|
-
"overflow-hidden rounded-lg text-card-foreground transition-all duration-200",
|
|
34
|
-
{
|
|
35
|
-
variants: {
|
|
36
|
-
variant: {
|
|
37
|
-
default: "border bg-surface-100 shadow-sm",
|
|
38
|
-
outlined: "border-2 border-border bg-transparent",
|
|
39
|
-
elevated: "bg-surface-100 shadow-card hover:shadow-lg",
|
|
40
|
-
interactive: "border bg-surface-100 shadow-sm hover:-translate-y-0.5 hover:shadow-lg active:translate-y-0 active:shadow-md cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
|
|
41
|
-
glass: "border border-border/50 bg-background/80 backdrop-blur-sm shadow-sm"
|
|
42
|
-
},
|
|
43
|
-
size: {
|
|
44
|
-
sm: "",
|
|
45
|
-
md: "",
|
|
46
|
-
lg: ""
|
|
47
|
-
}
|
|
48
|
-
},
|
|
49
|
-
defaultVariants: {
|
|
50
|
-
variant: "default",
|
|
51
|
-
size: "md"
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
);
|
|
55
|
-
var Card = React__namespace.forwardRef(({ className, variant, size = "md", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
56
|
-
"div",
|
|
57
|
-
{
|
|
58
|
-
ref,
|
|
59
|
-
"data-slot": "card",
|
|
60
|
-
"data-size": size,
|
|
61
|
-
className: chunkNV4JOKWL_cjs.cn(cardVariants({ variant, size }), className),
|
|
62
|
-
...props
|
|
63
|
-
}
|
|
64
|
-
));
|
|
65
|
-
Card.displayName = "Card";
|
|
66
|
-
var CardHeader = React__namespace.forwardRef(
|
|
67
|
-
({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
68
|
-
"div",
|
|
69
|
-
{
|
|
70
|
-
ref,
|
|
71
|
-
"data-slot": "card-header",
|
|
72
|
-
className: chunkNV4JOKWL_cjs.cn(
|
|
73
|
-
"flex flex-col space-y-1.5 border-b",
|
|
74
|
-
// Size variants inherited from Card
|
|
75
|
-
"[[data-size=sm]_&]:py-3 [[data-size=sm]_&]:px-4",
|
|
76
|
-
"[[data-size=md]_&]:py-4 [[data-size=md]_&]:px-6",
|
|
77
|
-
"[[data-size=lg]_&]:py-5 [[data-size=lg]_&]:px-8",
|
|
78
|
-
className
|
|
79
|
-
),
|
|
80
|
-
...props
|
|
81
|
-
}
|
|
82
|
-
)
|
|
83
|
-
);
|
|
84
|
-
CardHeader.displayName = "CardHeader";
|
|
85
|
-
var CardTitle = React__namespace.forwardRef(
|
|
86
|
-
({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
87
|
-
"h3",
|
|
88
|
-
{
|
|
89
|
-
ref,
|
|
90
|
-
"data-slot": "card-title",
|
|
91
|
-
className: chunkNV4JOKWL_cjs.cn(
|
|
92
|
-
"font-semibold leading-tight tracking-tight",
|
|
93
|
-
"[[data-size=sm]_&]:text-sm",
|
|
94
|
-
"[[data-size=md]_&]:text-base",
|
|
95
|
-
"[[data-size=lg]_&]:text-lg",
|
|
96
|
-
className
|
|
97
|
-
),
|
|
98
|
-
...props
|
|
99
|
-
}
|
|
100
|
-
)
|
|
101
|
-
);
|
|
102
|
-
CardTitle.displayName = "CardTitle";
|
|
103
|
-
var CardDescription = React__namespace.forwardRef(
|
|
104
|
-
({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("p", { ref, "data-slot": "card-description", className: chunkNV4JOKWL_cjs.cn("text-sm text-foreground-muted", className), ...props })
|
|
105
|
-
);
|
|
106
|
-
CardDescription.displayName = "CardDescription";
|
|
107
|
-
var CardContent = React__namespace.forwardRef(
|
|
108
|
-
({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
109
|
-
"div",
|
|
110
|
-
{
|
|
111
|
-
ref,
|
|
112
|
-
"data-slot": "card-content",
|
|
113
|
-
className: chunkNV4JOKWL_cjs.cn(
|
|
114
|
-
"border-b last:border-none",
|
|
115
|
-
"[[data-size=sm]_&]:py-3 [[data-size=sm]_&]:px-4",
|
|
116
|
-
"[[data-size=md]_&]:py-4 [[data-size=md]_&]:px-6",
|
|
117
|
-
"[[data-size=lg]_&]:py-5 [[data-size=lg]_&]:px-8",
|
|
118
|
-
className
|
|
119
|
-
),
|
|
120
|
-
...props
|
|
121
|
-
}
|
|
122
|
-
)
|
|
123
|
-
);
|
|
124
|
-
CardContent.displayName = "CardContent";
|
|
125
|
-
var CardFooter = React__namespace.forwardRef(
|
|
126
|
-
({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
127
|
-
"div",
|
|
128
|
-
{
|
|
129
|
-
ref,
|
|
130
|
-
"data-slot": "card-footer",
|
|
131
|
-
className: chunkNV4JOKWL_cjs.cn(
|
|
132
|
-
"flex items-center",
|
|
133
|
-
"[[data-size=sm]_&]:py-3 [[data-size=sm]_&]:px-4",
|
|
134
|
-
"[[data-size=md]_&]:py-4 [[data-size=md]_&]:px-6",
|
|
135
|
-
"[[data-size=lg]_&]:py-5 [[data-size=lg]_&]:px-8",
|
|
136
|
-
className
|
|
137
|
-
),
|
|
138
|
-
...props
|
|
139
|
-
}
|
|
140
|
-
)
|
|
141
|
-
);
|
|
142
|
-
CardFooter.displayName = "CardFooter";
|
|
143
|
-
|
|
144
|
-
exports.Card = Card;
|
|
145
|
-
exports.CardContent = CardContent;
|
|
146
|
-
exports.CardDescription = CardDescription;
|
|
147
|
-
exports.CardFooter = CardFooter;
|
|
148
|
-
exports.CardHeader = CardHeader;
|
|
149
|
-
exports.CardTitle = CardTitle;
|
|
150
|
-
exports.cardVariants = cardVariants;
|
|
151
|
-
//# sourceMappingURL=chunk-SXEPGD4Z.cjs.map
|
|
152
|
-
//# sourceMappingURL=chunk-SXEPGD4Z.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/ui/card.tsx"],"names":["cva","React","jsx","cn"],"mappings":"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","file":"chunk-SXEPGD4Z.cjs","sourcesContent":["'use client'\n\nimport * as React from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { cn } from '@/lib/utils'\n\n/* -------------------------------------------------------------------------- */\n/* Card */\n/* -------------------------------------------------------------------------- */\n\nconst cardVariants = cva(\n // A Card is a visual container, not a focusable surface. Do not apply\n // focus-within rings to the base — that bleeds the ring of whatever\n // input/button inside has focus onto the whole card. The `interactive`\n // variant below opts into focus-visible explicitly because it IS clickable.\n 'overflow-hidden rounded-lg text-card-foreground transition-all duration-200',\n {\n variants: {\n variant: {\n default: 'border bg-surface-100 shadow-sm',\n outlined: 'border-2 border-border bg-transparent',\n elevated: 'bg-surface-100 shadow-card hover:shadow-lg',\n interactive:\n 'border bg-surface-100 shadow-sm hover:-translate-y-0.5 hover:shadow-lg active:translate-y-0 active:shadow-md cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2',\n glass: 'border border-border/50 bg-background/80 backdrop-blur-sm shadow-sm',\n },\n size: {\n sm: '',\n md: '',\n lg: '',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'md',\n },\n }\n)\n\ninterface CardProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof cardVariants> {}\n\nconst Card = React.forwardRef<HTMLDivElement, CardProps>(({ className, variant, size = 'md', ...props }, ref) => (\n <div\n ref={ref}\n data-slot=\"card\"\n data-size={size}\n className={cn(cardVariants({ variant, size }), className)}\n {...props}\n />\n))\nCard.displayName = 'Card'\n\n/* -------------------------------------------------------------------------- */\n/* CardHeader */\n/* -------------------------------------------------------------------------- */\n\nconst CardHeader = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n data-slot=\"card-header\"\n className={cn(\n 'flex flex-col space-y-1.5 border-b',\n // Size variants inherited from Card\n '[[data-size=sm]_&]:py-3 [[data-size=sm]_&]:px-4',\n '[[data-size=md]_&]:py-4 [[data-size=md]_&]:px-6',\n '[[data-size=lg]_&]:py-5 [[data-size=lg]_&]:px-8',\n className\n )}\n {...props}\n />\n )\n)\nCardHeader.displayName = 'CardHeader'\n\n/* -------------------------------------------------------------------------- */\n/* CardTitle */\n/* -------------------------------------------------------------------------- */\n\nconst CardTitle = React.forwardRef<HTMLParagraphElement, React.HTMLAttributes<HTMLHeadingElement>>(\n ({ className, ...props }, ref) => (\n <h3\n ref={ref}\n data-slot=\"card-title\"\n className={cn(\n 'font-semibold leading-tight tracking-tight',\n '[[data-size=sm]_&]:text-sm',\n '[[data-size=md]_&]:text-base',\n '[[data-size=lg]_&]:text-lg',\n className\n )}\n {...props}\n />\n )\n)\nCardTitle.displayName = 'CardTitle'\n\n/* -------------------------------------------------------------------------- */\n/* CardDescription */\n/* -------------------------------------------------------------------------- */\n\nconst CardDescription = React.forwardRef<HTMLParagraphElement, React.HTMLAttributes<HTMLParagraphElement>>(\n ({ className, ...props }, ref) => (\n <p ref={ref} data-slot=\"card-description\" className={cn('text-sm text-foreground-muted', className)} {...props} />\n )\n)\nCardDescription.displayName = 'CardDescription'\n\n/* -------------------------------------------------------------------------- */\n/* CardContent */\n/* -------------------------------------------------------------------------- */\n\nconst CardContent = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n data-slot=\"card-content\"\n className={cn(\n 'border-b last:border-none',\n '[[data-size=sm]_&]:py-3 [[data-size=sm]_&]:px-4',\n '[[data-size=md]_&]:py-4 [[data-size=md]_&]:px-6',\n '[[data-size=lg]_&]:py-5 [[data-size=lg]_&]:px-8',\n className\n )}\n {...props}\n />\n )\n)\nCardContent.displayName = 'CardContent'\n\n/* -------------------------------------------------------------------------- */\n/* CardFooter */\n/* -------------------------------------------------------------------------- */\n\nconst CardFooter = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n data-slot=\"card-footer\"\n className={cn(\n 'flex items-center',\n '[[data-size=sm]_&]:py-3 [[data-size=sm]_&]:px-4',\n '[[data-size=md]_&]:py-4 [[data-size=md]_&]:px-6',\n '[[data-size=lg]_&]:py-5 [[data-size=lg]_&]:px-8',\n className\n )}\n {...props}\n />\n )\n)\nCardFooter.displayName = 'CardFooter'\n\nexport { Card, cardVariants, CardHeader, CardFooter, CardTitle, CardDescription, CardContent }\nexport type { CardProps }\n"]}
|
package/dist/chunk-SXWSOU3Y.js
DELETED
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import { Button } from './chunk-3QYYPPFJ.js';
|
|
2
|
-
import { cn, convertToLocalNumbers } from './chunk-4SVQNEVH.js';
|
|
3
|
-
import * as React from 'react';
|
|
4
|
-
import { Search, Star, Clock, Play } from 'lucide-react';
|
|
5
|
-
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
6
|
-
|
|
7
|
-
var STRINGS = {
|
|
8
|
-
fa: { run: "\u0627\u062C\u0631\u0627", runs: "\u0627\u062C\u0631\u0627", star: "\u0639\u0644\u0627\u0642\u0647\u200C\u0645\u0646\u062F\u06CC", unstar: "\u062D\u0630\u0641 \u0627\u0632 \u0639\u0644\u0627\u0642\u0647\u200C\u0645\u0646\u062F\u06CC\u200C\u0647\u0627" },
|
|
9
|
-
ar: { run: "\u062A\u0634\u063A\u064A\u0644", runs: "\u062A\u0634\u063A\u064A\u0644", star: "\u0645\u0641\u0636\u0644\u0629", unstar: "\u0625\u0632\u0627\u0644\u0629 \u0645\u0646 \u0627\u0644\u0645\u0641\u0636\u0644\u0629" },
|
|
10
|
-
en: { run: "Run", runs: "runs", star: "Favorite", unstar: "Unfavorite" }
|
|
11
|
-
};
|
|
12
|
-
var SavedQueryCard = React.forwardRef(
|
|
13
|
-
({ className, name, description, filters, runCount, lastRun, onRun, runLabel, favorite, locale = "fa", ...props }, ref) => {
|
|
14
|
-
const t = STRINGS[locale] ?? STRINGS.fa;
|
|
15
|
-
return /* @__PURE__ */ jsxs(
|
|
16
|
-
"div",
|
|
17
|
-
{
|
|
18
|
-
ref,
|
|
19
|
-
"data-slot": "saved-query-card",
|
|
20
|
-
className: cn("flex flex-col gap-3 rounded-lg border border-border bg-background p-4", className),
|
|
21
|
-
...props,
|
|
22
|
-
children: [
|
|
23
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-start gap-3", children: [
|
|
24
|
-
/* @__PURE__ */ jsx(Search, { className: "size-4 mt-0.5 shrink-0 text-foreground-lighter", "aria-hidden": "true" }),
|
|
25
|
-
/* @__PURE__ */ jsxs("div", { className: "flex-1 min-w-0", children: [
|
|
26
|
-
/* @__PURE__ */ jsx("h3", { className: "text-sm font-semibold text-foreground truncate", children: name }),
|
|
27
|
-
description && /* @__PURE__ */ jsx("p", { className: "mt-0.5 text-xs text-foreground-lighter line-clamp-2", children: description })
|
|
28
|
-
] }),
|
|
29
|
-
favorite && /* @__PURE__ */ jsx(
|
|
30
|
-
"button",
|
|
31
|
-
{
|
|
32
|
-
type: "button",
|
|
33
|
-
onClick: () => favorite.onChange(!favorite.starred),
|
|
34
|
-
className: "shrink-0 inline-flex size-7 items-center justify-center rounded text-foreground-lighter hover:bg-surface-100 hover:text-foreground transition-colors",
|
|
35
|
-
"aria-label": favorite.starred ? t.unstar : t.star,
|
|
36
|
-
"aria-pressed": favorite.starred,
|
|
37
|
-
"data-slot": "saved-query-card-favorite",
|
|
38
|
-
children: /* @__PURE__ */ jsx(
|
|
39
|
-
Star,
|
|
40
|
-
{
|
|
41
|
-
className: cn("size-4", favorite.starred && "fill-warning-default text-warning-default"),
|
|
42
|
-
"aria-hidden": "true"
|
|
43
|
-
}
|
|
44
|
-
)
|
|
45
|
-
}
|
|
46
|
-
)
|
|
47
|
-
] }),
|
|
48
|
-
filters && filters.length > 0 && /* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-1.5", children: filters.map((f, i) => /* @__PURE__ */ jsxs(
|
|
49
|
-
"span",
|
|
50
|
-
{
|
|
51
|
-
className: "inline-flex items-center gap-1 rounded-md border border-border bg-background-muted/40 px-2 py-0.5 text-2xs",
|
|
52
|
-
"data-slot": "saved-query-card-filter",
|
|
53
|
-
children: [
|
|
54
|
-
/* @__PURE__ */ jsxs("span", { className: "text-foreground-lighter", children: [
|
|
55
|
-
f.label,
|
|
56
|
-
":"
|
|
57
|
-
] }),
|
|
58
|
-
/* @__PURE__ */ jsx("span", { className: "text-foreground font-medium", children: f.value })
|
|
59
|
-
]
|
|
60
|
-
},
|
|
61
|
-
i
|
|
62
|
-
)) }),
|
|
63
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-2 pt-2 border-t border-border", children: [
|
|
64
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 text-2xs text-foreground-lighter", children: [
|
|
65
|
-
typeof runCount === "number" && /* @__PURE__ */ jsxs("span", { className: "tabular-nums", children: [
|
|
66
|
-
convertToLocalNumbers(runCount, locale),
|
|
67
|
-
" ",
|
|
68
|
-
t.runs
|
|
69
|
-
] }),
|
|
70
|
-
lastRun && /* @__PURE__ */ jsxs("span", { className: "inline-flex items-center gap-1", children: [
|
|
71
|
-
/* @__PURE__ */ jsx(Clock, { className: "size-3", "aria-hidden": "true" }),
|
|
72
|
-
lastRun
|
|
73
|
-
] })
|
|
74
|
-
] }),
|
|
75
|
-
onRun && /* @__PURE__ */ jsxs(Button, { size: "sm", variant: "outline", onClick: onRun, className: "gap-1.5", "data-slot": "saved-query-card-run", children: [
|
|
76
|
-
/* @__PURE__ */ jsx(Play, { className: "size-3", "aria-hidden": "true" }),
|
|
77
|
-
runLabel ?? t.run
|
|
78
|
-
] })
|
|
79
|
-
] })
|
|
80
|
-
]
|
|
81
|
-
}
|
|
82
|
-
);
|
|
83
|
-
}
|
|
84
|
-
);
|
|
85
|
-
SavedQueryCard.displayName = "SavedQueryCard";
|
|
86
|
-
|
|
87
|
-
export { SavedQueryCard };
|
|
88
|
-
//# sourceMappingURL=chunk-SXWSOU3Y.js.map
|
|
89
|
-
//# sourceMappingURL=chunk-SXWSOU3Y.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/ui/saved-query-card.tsx"],"names":[],"mappings":"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","file":"chunk-SXWSOU3Y.js","sourcesContent":["'use client'\n\nimport * as React from 'react'\nimport { Search, Play, Star, Clock } from 'lucide-react'\nimport { cn, convertToLocalNumbers, type SupportedLocale } from '@/lib/utils'\nimport { Button } from './button'\n\n/**\n * SavedQueryCard — saved-search tile for analyst dashboards. Shows query\n * description + filter summary chips, run count, last-run timestamp, and a\n * one-click \"run again\" action button. Optional star/favorite toggle.\n */\n\nexport interface SavedQueryFilter {\n /** Filter label (e.g., \"احساس\") */\n label: React.ReactNode\n /** Filter value (e.g., \"منفی\") */\n value: React.ReactNode\n}\n\nexport interface SavedQueryCardProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Saved query name */\n name: React.ReactNode\n /** Optional 1-line description */\n description?: React.ReactNode\n /** Filter chips (label + value pairs) */\n filters?: SavedQueryFilter[]\n /** Total run count */\n runCount?: number\n /** Last-run display (e.g., \"۲ روز پیش\") */\n lastRun?: React.ReactNode\n /** Run-now callback */\n onRun?: () => void\n /** Run button label override */\n runLabel?: React.ReactNode\n /** Favorite/star state. When set, renders the star toggle */\n favorite?: {\n starred: boolean\n onChange: (next: boolean) => void\n }\n /** Locale @default 'fa' */\n locale?: SupportedLocale\n}\n\nconst STRINGS: Record<SupportedLocale, { run: string; runs: string; star: string; unstar: string }> = {\n fa: { run: 'اجرا', runs: 'اجرا', star: 'علاقهمندی', unstar: 'حذف از علاقهمندیها' },\n ar: { run: 'تشغيل', runs: 'تشغيل', star: 'مفضلة', unstar: 'إزالة من المفضلة' },\n en: { run: 'Run', runs: 'runs', star: 'Favorite', unstar: 'Unfavorite' },\n}\n\nconst SavedQueryCard = React.forwardRef<HTMLDivElement, SavedQueryCardProps>(\n (\n { className, name, description, filters, runCount, lastRun, onRun, runLabel, favorite, locale = 'fa', ...props },\n ref\n ) => {\n const t = STRINGS[locale] ?? STRINGS.fa\n return (\n <div\n ref={ref}\n data-slot=\"saved-query-card\"\n className={cn('flex flex-col gap-3 rounded-lg border border-border bg-background p-4', className)}\n {...props}\n >\n {/* Header */}\n <div className=\"flex items-start gap-3\">\n <Search className=\"size-4 mt-0.5 shrink-0 text-foreground-lighter\" aria-hidden=\"true\" />\n <div className=\"flex-1 min-w-0\">\n <h3 className=\"text-sm font-semibold text-foreground truncate\">{name}</h3>\n {description && <p className=\"mt-0.5 text-xs text-foreground-lighter line-clamp-2\">{description}</p>}\n </div>\n {favorite && (\n <button\n type=\"button\"\n onClick={() => favorite.onChange(!favorite.starred)}\n className=\"shrink-0 inline-flex size-7 items-center justify-center rounded text-foreground-lighter hover:bg-surface-100 hover:text-foreground transition-colors\"\n aria-label={favorite.starred ? t.unstar : t.star}\n aria-pressed={favorite.starred}\n data-slot=\"saved-query-card-favorite\"\n >\n <Star\n className={cn('size-4', favorite.starred && 'fill-warning-default text-warning-default')}\n aria-hidden=\"true\"\n />\n </button>\n )}\n </div>\n\n {/* Filter chips */}\n {filters && filters.length > 0 && (\n <div className=\"flex flex-wrap gap-1.5\">\n {filters.map((f, i) => (\n <span\n key={i}\n className=\"inline-flex items-center gap-1 rounded-md border border-border bg-background-muted/40 px-2 py-0.5 text-2xs\"\n data-slot=\"saved-query-card-filter\"\n >\n <span className=\"text-foreground-lighter\">{f.label}:</span>\n <span className=\"text-foreground font-medium\">{f.value}</span>\n </span>\n ))}\n </div>\n )}\n\n {/* Footer — meta + run button */}\n <div className=\"flex items-center justify-between gap-2 pt-2 border-t border-border\">\n <div className=\"flex items-center gap-3 text-2xs text-foreground-lighter\">\n {typeof runCount === 'number' && (\n <span className=\"tabular-nums\">\n {convertToLocalNumbers(runCount, locale)} {t.runs}\n </span>\n )}\n {lastRun && (\n <span className=\"inline-flex items-center gap-1\">\n <Clock className=\"size-3\" aria-hidden=\"true\" />\n {lastRun}\n </span>\n )}\n </div>\n {onRun && (\n <Button size=\"sm\" variant=\"outline\" onClick={onRun} className=\"gap-1.5\" data-slot=\"saved-query-card-run\">\n <Play className=\"size-3\" aria-hidden=\"true\" />\n {runLabel ?? t.run}\n </Button>\n )}\n </div>\n </div>\n )\n }\n)\nSavedQueryCard.displayName = 'SavedQueryCard'\n\nexport { SavedQueryCard }\n"]}
|
package/dist/chunk-SZMVOHT7.cjs
DELETED
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var chunkNV4JOKWL_cjs = require('./chunk-NV4JOKWL.cjs');
|
|
4
|
-
var React = require('react');
|
|
5
|
-
var SeparatorPrimitive = require('@radix-ui/react-separator');
|
|
6
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
7
|
-
|
|
8
|
-
function _interopNamespace(e) {
|
|
9
|
-
if (e && e.__esModule) return e;
|
|
10
|
-
var n = Object.create(null);
|
|
11
|
-
if (e) {
|
|
12
|
-
Object.keys(e).forEach(function (k) {
|
|
13
|
-
if (k !== 'default') {
|
|
14
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
15
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
16
|
-
enumerable: true,
|
|
17
|
-
get: function () { return e[k]; }
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
n.default = e;
|
|
23
|
-
return Object.freeze(n);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
27
|
-
var SeparatorPrimitive__namespace = /*#__PURE__*/_interopNamespace(SeparatorPrimitive);
|
|
28
|
-
|
|
29
|
-
var Separator = React__namespace.forwardRef(
|
|
30
|
-
({ className, orientation = "horizontal", decorative = true, children, ...props }, ref) => {
|
|
31
|
-
if (!children) {
|
|
32
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
33
|
-
SeparatorPrimitive__namespace.Root,
|
|
34
|
-
{
|
|
35
|
-
ref,
|
|
36
|
-
"data-slot": "separator",
|
|
37
|
-
decorative,
|
|
38
|
-
orientation,
|
|
39
|
-
className: chunkNV4JOKWL_cjs.cn(
|
|
40
|
-
"shrink-0 bg-border",
|
|
41
|
-
orientation === "horizontal" ? "h-[1px] w-full" : "h-full w-[1px]",
|
|
42
|
-
className
|
|
43
|
-
),
|
|
44
|
-
...props
|
|
45
|
-
}
|
|
46
|
-
);
|
|
47
|
-
}
|
|
48
|
-
if (orientation === "horizontal") {
|
|
49
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref, "data-slot": "separator", className: chunkNV4JOKWL_cjs.cn("relative flex items-center w-full", className), ...props, children: [
|
|
50
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
51
|
-
SeparatorPrimitive__namespace.Root,
|
|
52
|
-
{
|
|
53
|
-
"data-slot": "separator-line",
|
|
54
|
-
decorative,
|
|
55
|
-
orientation: "horizontal",
|
|
56
|
-
className: "flex-1 h-[1px] bg-border"
|
|
57
|
-
}
|
|
58
|
-
),
|
|
59
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { "data-slot": "separator-content", className: "px-3 text-sm text-muted-foreground whitespace-nowrap", children }),
|
|
60
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
61
|
-
SeparatorPrimitive__namespace.Root,
|
|
62
|
-
{
|
|
63
|
-
"data-slot": "separator-line",
|
|
64
|
-
decorative,
|
|
65
|
-
orientation: "horizontal",
|
|
66
|
-
className: "flex-1 h-[1px] bg-border"
|
|
67
|
-
}
|
|
68
|
-
)
|
|
69
|
-
] });
|
|
70
|
-
}
|
|
71
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
72
|
-
"div",
|
|
73
|
-
{
|
|
74
|
-
ref,
|
|
75
|
-
"data-slot": "separator",
|
|
76
|
-
className: chunkNV4JOKWL_cjs.cn("relative flex flex-col items-center h-full", className),
|
|
77
|
-
...props,
|
|
78
|
-
children: [
|
|
79
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
80
|
-
SeparatorPrimitive__namespace.Root,
|
|
81
|
-
{
|
|
82
|
-
"data-slot": "separator-line",
|
|
83
|
-
decorative,
|
|
84
|
-
orientation: "vertical",
|
|
85
|
-
className: "flex-1 w-[1px] bg-border"
|
|
86
|
-
}
|
|
87
|
-
),
|
|
88
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { "data-slot": "separator-content", className: "py-3 text-sm text-muted-foreground", children }),
|
|
89
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
90
|
-
SeparatorPrimitive__namespace.Root,
|
|
91
|
-
{
|
|
92
|
-
"data-slot": "separator-line",
|
|
93
|
-
decorative,
|
|
94
|
-
orientation: "vertical",
|
|
95
|
-
className: "flex-1 w-[1px] bg-border"
|
|
96
|
-
}
|
|
97
|
-
)
|
|
98
|
-
]
|
|
99
|
-
}
|
|
100
|
-
);
|
|
101
|
-
}
|
|
102
|
-
);
|
|
103
|
-
Separator.displayName = SeparatorPrimitive__namespace.Root.displayName;
|
|
104
|
-
|
|
105
|
-
exports.Separator = Separator;
|
|
106
|
-
//# sourceMappingURL=chunk-SZMVOHT7.cjs.map
|
|
107
|
-
//# sourceMappingURL=chunk-SZMVOHT7.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/ui/separator.tsx"],"names":["React","jsx","SeparatorPrimitive","cn","jsxs"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,IAAM,SAAA,GAAkBA,gBAAA,CAAA,UAAA;AAAA,EACtB,CAAC,EAAE,SAAA,EAAW,WAAA,GAAc,YAAA,EAAc,UAAA,GAAa,IAAA,EAAM,QAAA,EAAU,GAAG,KAAA,EAAM,EAAG,GAAA,KAAQ;AAEzF,IAAA,IAAI,CAAC,QAAA,EAAU;AACb,MAAA,uBACEC,cAAA;AAAA,QAAoBC,6BAAA,CAAA,IAAA;AAAA,QAAnB;AAAA,UACC,GAAA;AAAA,UACA,WAAA,EAAU,WAAA;AAAA,UACV,UAAA;AAAA,UACA,WAAA;AAAA,UACA,SAAA,EAAWC,oBAAA;AAAA,YACT,oBAAA;AAAA,YACA,WAAA,KAAgB,eAAe,gBAAA,GAAmB,gBAAA;AAAA,YAClD;AAAA,WACF;AAAA,UACC,GAAG;AAAA;AAAA,OACN;AAAA,IAEJ;AAGA,IAAA,IAAI,gBAAgB,YAAA,EAAc;AAChC,MAAA,uBACEC,eAAA,CAAC,KAAA,EAAA,EAAI,GAAA,EAAU,WAAA,EAAU,WAAA,EAAY,SAAA,EAAWD,oBAAA,CAAG,mCAAA,EAAqC,SAAS,CAAA,EAAI,GAAG,KAAA,EACtG,QAAA,EAAA;AAAA,wBAAAF,cAAA;AAAA,UAAoBC,6BAAA,CAAA,IAAA;AAAA,UAAnB;AAAA,YACC,WAAA,EAAU,gBAAA;AAAA,YACV,UAAA;AAAA,YACA,WAAA,EAAY,YAAA;AAAA,YACZ,SAAA,EAAU;AAAA;AAAA,SACZ;AAAA,uCACC,MAAA,EAAA,EAAK,WAAA,EAAU,mBAAA,EAAoB,SAAA,EAAU,wDAC3C,QAAA,EACH,CAAA;AAAA,wBACAD,cAAA;AAAA,UAAoBC,6BAAA,CAAA,IAAA;AAAA,UAAnB;AAAA,YACC,WAAA,EAAU,gBAAA;AAAA,YACV,UAAA;AAAA,YACA,WAAA,EAAY,YAAA;AAAA,YACZ,SAAA,EAAU;AAAA;AAAA;AACZ,OAAA,EACF,CAAA;AAAA,IAEJ;AAGA,IAAA,uBACEE,eAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,WAAA,EAAU,WAAA;AAAA,QACV,SAAA,EAAWD,oBAAA,CAAG,4CAAA,EAA8C,SAAS,CAAA;AAAA,QACpE,GAAG,KAAA;AAAA,QAEJ,QAAA,EAAA;AAAA,0BAAAF,cAAA;AAAA,YAAoBC,6BAAA,CAAA,IAAA;AAAA,YAAnB;AAAA,cACC,WAAA,EAAU,gBAAA;AAAA,cACV,UAAA;AAAA,cACA,WAAA,EAAY,UAAA;AAAA,cACZ,SAAA,EAAU;AAAA;AAAA,WACZ;AAAA,yCACC,MAAA,EAAA,EAAK,WAAA,EAAU,mBAAA,EAAoB,SAAA,EAAU,sCAC3C,QAAA,EACH,CAAA;AAAA,0BACAD,cAAA;AAAA,YAAoBC,6BAAA,CAAA,IAAA;AAAA,YAAnB;AAAA,cACC,WAAA,EAAU,gBAAA;AAAA,cACV,UAAA;AAAA,cACA,WAAA,EAAY,UAAA;AAAA,cACZ,SAAA,EAAU;AAAA;AAAA;AACZ;AAAA;AAAA,KACF;AAAA,EAEJ;AACF;AACA,SAAA,CAAU,cAAiCA,6BAAA,CAAA,IAAA,CAAK,WAAA","file":"chunk-SZMVOHT7.cjs","sourcesContent":["'use client'\n\nimport * as React from 'react'\nimport * as SeparatorPrimitive from '@radix-ui/react-separator'\n\nimport { cn } from '@/lib/utils'\n\ninterface SeparatorProps extends React.ComponentPropsWithoutRef<typeof SeparatorPrimitive.Root> {\n children?: React.ReactNode\n}\n\nconst Separator = React.forwardRef<React.ElementRef<typeof SeparatorPrimitive.Root>, SeparatorProps>(\n ({ className, orientation = 'horizontal', decorative = true, children, ...props }, ref) => {\n // If there's no children, render the default separator\n if (!children) {\n return (\n <SeparatorPrimitive.Root\n ref={ref}\n data-slot=\"separator\"\n decorative={decorative}\n orientation={orientation}\n className={cn(\n 'shrink-0 bg-border',\n orientation === 'horizontal' ? 'h-[1px] w-full' : 'h-full w-[1px]',\n className\n )}\n {...props}\n />\n )\n }\n\n // If there are children (text), render separator with text\n if (orientation === 'horizontal') {\n return (\n <div ref={ref} data-slot=\"separator\" className={cn('relative flex items-center w-full', className)} {...props}>\n <SeparatorPrimitive.Root\n data-slot=\"separator-line\"\n decorative={decorative}\n orientation=\"horizontal\"\n className=\"flex-1 h-[1px] bg-border\"\n />\n <span data-slot=\"separator-content\" className=\"px-3 text-sm text-muted-foreground whitespace-nowrap\">\n {children}\n </span>\n <SeparatorPrimitive.Root\n data-slot=\"separator-line\"\n decorative={decorative}\n orientation=\"horizontal\"\n className=\"flex-1 h-[1px] bg-border\"\n />\n </div>\n )\n }\n\n // For vertical orientation with text (less common)\n return (\n <div\n ref={ref}\n data-slot=\"separator\"\n className={cn('relative flex flex-col items-center h-full', className)}\n {...props}\n >\n <SeparatorPrimitive.Root\n data-slot=\"separator-line\"\n decorative={decorative}\n orientation=\"vertical\"\n className=\"flex-1 w-[1px] bg-border\"\n />\n <span data-slot=\"separator-content\" className=\"py-3 text-sm text-muted-foreground\">\n {children}\n </span>\n <SeparatorPrimitive.Root\n data-slot=\"separator-line\"\n decorative={decorative}\n orientation=\"vertical\"\n className=\"flex-1 w-[1px] bg-border\"\n />\n </div>\n )\n }\n)\nSeparator.displayName = SeparatorPrimitive.Root.displayName\n\nexport { Separator }\n"]}
|
package/dist/chunk-TWJXOV4C.js
DELETED
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
import { useChartTheme, localeAwareCategoryTick, localeAwareNumberTick, ChartLoadingSkeleton, ChartContainer, ChartTooltip, ChartLegend } from './chunk-PYURPUTV.js';
|
|
2
|
-
import * as React from 'react';
|
|
3
|
-
import { ResponsiveContainer, BarChart, CartesianGrid, XAxis, YAxis, Tooltip, Bar } from 'recharts';
|
|
4
|
-
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
5
|
-
|
|
6
|
-
var PartoBarChart = React.forwardRef(function PartoBarChart2({
|
|
7
|
-
data,
|
|
8
|
-
keys,
|
|
9
|
-
indexBy,
|
|
10
|
-
groupMode = "grouped",
|
|
11
|
-
layout = "vertical",
|
|
12
|
-
margin = { top: 20, right: 20, bottom: 50, left: 50 },
|
|
13
|
-
barCategoryGap = "35%",
|
|
14
|
-
barGap = 2,
|
|
15
|
-
radius = [6, 6, 0, 0],
|
|
16
|
-
enableGridY = true,
|
|
17
|
-
enableGridX = false,
|
|
18
|
-
enableLabel = false,
|
|
19
|
-
axisBottom,
|
|
20
|
-
axisLeft,
|
|
21
|
-
tooltipFormatter,
|
|
22
|
-
locale = "fa",
|
|
23
|
-
className,
|
|
24
|
-
isLoading = false,
|
|
25
|
-
ariaLabel,
|
|
26
|
-
chartProps,
|
|
27
|
-
legend = false
|
|
28
|
-
}, ref) {
|
|
29
|
-
const { chartColors, axisTickStyle, gridStyle, tooltipStyle } = useChartTheme();
|
|
30
|
-
const categoryTick = React.useMemo(() => localeAwareCategoryTick(locale), [locale]);
|
|
31
|
-
const numberTick = React.useMemo(() => localeAwareNumberTick(locale), [locale]);
|
|
32
|
-
if (isLoading) {
|
|
33
|
-
return /* @__PURE__ */ jsx(ChartLoadingSkeleton, { className });
|
|
34
|
-
}
|
|
35
|
-
const rechartsLayout = layout === "horizontal" ? "vertical" : "horizontal";
|
|
36
|
-
const stackId = groupMode === "stacked" ? "stack" : void 0;
|
|
37
|
-
const legendItems = legend ? keys.map((key, i) => ({
|
|
38
|
-
key,
|
|
39
|
-
label: key,
|
|
40
|
-
color: chartColors[i % chartColors.length],
|
|
41
|
-
shape: "bar"
|
|
42
|
-
})) : [];
|
|
43
|
-
return /* @__PURE__ */ jsx(ChartContainer, { ref, className, dataSlot: "bar-chart", ariaLabel, children: /* @__PURE__ */ jsxs("div", { style: { display: "flex", flexDirection: "column", width: "100%", height: "100%" }, children: [
|
|
44
|
-
/* @__PURE__ */ jsx("div", { style: { flex: 1, minHeight: 0 }, children: /* @__PURE__ */ jsx(ResponsiveContainer, { width: "100%", height: "100%", children: /* @__PURE__ */ jsxs(
|
|
45
|
-
BarChart,
|
|
46
|
-
{
|
|
47
|
-
data,
|
|
48
|
-
layout: rechartsLayout,
|
|
49
|
-
margin,
|
|
50
|
-
barCategoryGap,
|
|
51
|
-
barGap,
|
|
52
|
-
...chartProps,
|
|
53
|
-
children: [
|
|
54
|
-
(enableGridX || enableGridY) && /* @__PURE__ */ jsx(
|
|
55
|
-
CartesianGrid,
|
|
56
|
-
{
|
|
57
|
-
horizontal: enableGridY,
|
|
58
|
-
vertical: enableGridX,
|
|
59
|
-
stroke: gridStyle.stroke,
|
|
60
|
-
strokeDasharray: gridStyle.strokeDasharray,
|
|
61
|
-
strokeOpacity: gridStyle.strokeOpacity
|
|
62
|
-
}
|
|
63
|
-
),
|
|
64
|
-
rechartsLayout === "horizontal" ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
65
|
-
axisBottom !== null && /* @__PURE__ */ jsx(
|
|
66
|
-
XAxis,
|
|
67
|
-
{
|
|
68
|
-
dataKey: indexBy,
|
|
69
|
-
tick: axisTickStyle,
|
|
70
|
-
tickLine: false,
|
|
71
|
-
axisLine: false,
|
|
72
|
-
tickMargin: 12,
|
|
73
|
-
tickFormatter: categoryTick,
|
|
74
|
-
...axisBottom
|
|
75
|
-
}
|
|
76
|
-
),
|
|
77
|
-
axisLeft !== null && /* @__PURE__ */ jsx(
|
|
78
|
-
YAxis,
|
|
79
|
-
{
|
|
80
|
-
tick: axisTickStyle,
|
|
81
|
-
tickLine: false,
|
|
82
|
-
axisLine: false,
|
|
83
|
-
tickMargin: 12,
|
|
84
|
-
tickFormatter: numberTick,
|
|
85
|
-
...axisLeft
|
|
86
|
-
}
|
|
87
|
-
)
|
|
88
|
-
] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
89
|
-
axisLeft !== null && /* @__PURE__ */ jsx(
|
|
90
|
-
YAxis,
|
|
91
|
-
{
|
|
92
|
-
dataKey: indexBy,
|
|
93
|
-
type: "category",
|
|
94
|
-
tick: axisTickStyle,
|
|
95
|
-
tickLine: false,
|
|
96
|
-
axisLine: false,
|
|
97
|
-
tickMargin: 12,
|
|
98
|
-
tickFormatter: categoryTick,
|
|
99
|
-
...axisLeft
|
|
100
|
-
}
|
|
101
|
-
),
|
|
102
|
-
axisBottom !== null && /* @__PURE__ */ jsx(
|
|
103
|
-
XAxis,
|
|
104
|
-
{
|
|
105
|
-
type: "number",
|
|
106
|
-
tick: axisTickStyle,
|
|
107
|
-
tickLine: false,
|
|
108
|
-
axisLine: false,
|
|
109
|
-
tickMargin: 12,
|
|
110
|
-
tickFormatter: numberTick,
|
|
111
|
-
...axisBottom
|
|
112
|
-
}
|
|
113
|
-
)
|
|
114
|
-
] }),
|
|
115
|
-
/* @__PURE__ */ jsx(
|
|
116
|
-
Tooltip,
|
|
117
|
-
{
|
|
118
|
-
cursor: { fill: "hsl(0 0% 50% / 0.05)" },
|
|
119
|
-
content: /* @__PURE__ */ jsx(ChartTooltip, { tooltipStyle, formatter: tooltipFormatter, locale })
|
|
120
|
-
}
|
|
121
|
-
),
|
|
122
|
-
keys.map((key, i) => /* @__PURE__ */ jsx(
|
|
123
|
-
Bar,
|
|
124
|
-
{
|
|
125
|
-
dataKey: key,
|
|
126
|
-
fill: chartColors[i % chartColors.length],
|
|
127
|
-
radius,
|
|
128
|
-
stackId,
|
|
129
|
-
label: enableLabel ? { position: "top", style: axisTickStyle } : false,
|
|
130
|
-
animationDuration: 800,
|
|
131
|
-
animationEasing: "ease-out"
|
|
132
|
-
},
|
|
133
|
-
key
|
|
134
|
-
))
|
|
135
|
-
]
|
|
136
|
-
}
|
|
137
|
-
) }) }),
|
|
138
|
-
legend && /* @__PURE__ */ jsx(ChartLegend, { items: legendItems, style: { paddingTop: 12 } })
|
|
139
|
-
] }) });
|
|
140
|
-
});
|
|
141
|
-
PartoBarChart.displayName = "PartoBarChart";
|
|
142
|
-
|
|
143
|
-
export { PartoBarChart };
|
|
144
|
-
//# sourceMappingURL=chunk-TWJXOV4C.js.map
|
|
145
|
-
//# sourceMappingURL=chunk-TWJXOV4C.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/charts/PartoBarChart.tsx"],"names":["PartoBarChart"],"mappings":"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","file":"chunk-TWJXOV4C.js","sourcesContent":["'use client'\n\nimport * as React from 'react'\nimport { BarChart, Bar, XAxis, YAxis, CartesianGrid, Tooltip, ResponsiveContainer } from 'recharts'\n\nimport { useChartTheme } from '@/hooks/use-chart-theme'\nimport { type SupportedLocale } from '@/lib/utils'\nimport {\n ChartContainer,\n ChartLegend,\n ChartLoadingSkeleton,\n ChartTooltip,\n localeAwareCategoryTick,\n localeAwareNumberTick,\n type ChartLegendItem,\n} from './chart-utils'\n\nexport interface PartoBarChartProps {\n /** Chart data — row-oriented array of objects */\n data: Array<Record<string, any>>\n /** Data keys to render as bars (e.g. ['فروش', 'هزینه']) */\n keys: string[]\n /** Field name used for X axis categories (e.g. 'ماه') */\n indexBy: string\n /** Stacked or grouped layout */\n groupMode?: 'grouped' | 'stacked'\n /** Bar layout direction */\n layout?: 'vertical' | 'horizontal'\n /** Chart margins */\n margin?: { top?: number; right?: number; bottom?: number; left?: number }\n /** Gap between category groups as percentage */\n barCategoryGap?: string | number\n /** Gap between bars within a group */\n barGap?: number\n /** Border radius for bar tops [topLeft, topRight, bottomRight, bottomLeft] */\n radius?: [number, number, number, number]\n /** Show horizontal grid lines */\n enableGridY?: boolean\n /** Show vertical grid lines */\n enableGridX?: boolean\n /** Show labels inside bars */\n enableLabel?: boolean\n /** Custom X axis config */\n axisBottom?: Record<string, any> | null\n /** Custom Y axis config */\n axisLeft?: Record<string, any> | null\n /** Custom tooltip formatter */\n tooltipFormatter?: (name: string, value: number) => React.ReactNode\n /**\n * Locale for digit formatting in tooltips and axis ticks. fa/ar render\n * Persian/Arabic digits with locale suffixes; en uses Latin K/M/B.\n * Default: 'fa'.\n */\n locale?: SupportedLocale\n className?: string\n isLoading?: boolean\n ariaLabel?: string\n /** Additional Recharts BarChart props */\n chartProps?: Record<string, any>\n /**\n * Render a legend below the chart that names each series with a colored\n * marker. Strongly recommended for grouped or stacked layouts where\n * series identity is otherwise color-only. @default `false`\n */\n legend?: boolean\n}\n\nexport const PartoBarChart = React.forwardRef<HTMLDivElement, PartoBarChartProps>(function PartoBarChart(\n {\n data,\n keys,\n indexBy,\n groupMode = 'grouped',\n layout = 'vertical',\n margin = { top: 20, right: 20, bottom: 50, left: 50 },\n barCategoryGap = '35%',\n barGap = 2,\n radius = [6, 6, 0, 0],\n enableGridY = true,\n enableGridX = false,\n enableLabel = false,\n axisBottom,\n axisLeft,\n tooltipFormatter,\n locale = 'fa',\n className,\n isLoading = false,\n ariaLabel,\n chartProps,\n legend = false,\n },\n ref\n) {\n const { chartColors, axisTickStyle, gridStyle, tooltipStyle } = useChartTheme()\n const categoryTick = React.useMemo(() => localeAwareCategoryTick(locale), [locale])\n const numberTick = React.useMemo(() => localeAwareNumberTick(locale), [locale])\n\n if (isLoading) {\n return <ChartLoadingSkeleton className={className} />\n }\n\n // Recharts uses \"horizontal\" for standard vertical bars and \"vertical\" for horizontal bars\n const rechartsLayout = layout === 'horizontal' ? 'vertical' : 'horizontal'\n const stackId = groupMode === 'stacked' ? 'stack' : undefined\n\n const legendItems: ChartLegendItem[] = legend\n ? keys.map((key, i) => ({\n key,\n label: key,\n color: chartColors[i % chartColors.length],\n shape: 'bar',\n }))\n : []\n\n return (\n <ChartContainer ref={ref} className={className} dataSlot=\"bar-chart\" ariaLabel={ariaLabel}>\n <div style={{ display: 'flex', flexDirection: 'column', width: '100%', height: '100%' }}>\n <div style={{ flex: 1, minHeight: 0 }}>\n <ResponsiveContainer width=\"100%\" height=\"100%\">\n <BarChart\n data={data}\n layout={rechartsLayout}\n margin={margin}\n barCategoryGap={barCategoryGap}\n barGap={barGap}\n {...chartProps}\n >\n {(enableGridX || enableGridY) && (\n <CartesianGrid\n horizontal={enableGridY}\n vertical={enableGridX}\n stroke={gridStyle.stroke}\n strokeDasharray={gridStyle.strokeDasharray}\n strokeOpacity={gridStyle.strokeOpacity}\n />\n )}\n\n {rechartsLayout === 'horizontal' ? (\n <>\n {axisBottom !== null && (\n <XAxis\n dataKey={indexBy}\n tick={axisTickStyle}\n tickLine={false}\n axisLine={false}\n tickMargin={12}\n tickFormatter={categoryTick}\n {...axisBottom}\n />\n )}\n {axisLeft !== null && (\n <YAxis\n tick={axisTickStyle}\n tickLine={false}\n axisLine={false}\n tickMargin={12}\n tickFormatter={numberTick}\n {...axisLeft}\n />\n )}\n </>\n ) : (\n <>\n {axisLeft !== null && (\n <YAxis\n dataKey={indexBy}\n type=\"category\"\n tick={axisTickStyle}\n tickLine={false}\n axisLine={false}\n tickMargin={12}\n tickFormatter={categoryTick}\n {...axisLeft}\n />\n )}\n {axisBottom !== null && (\n <XAxis\n type=\"number\"\n tick={axisTickStyle}\n tickLine={false}\n axisLine={false}\n tickMargin={12}\n tickFormatter={numberTick}\n {...axisBottom}\n />\n )}\n </>\n )}\n\n <Tooltip\n cursor={{ fill: 'hsl(0 0% 50% / 0.05)' }}\n content={<ChartTooltip tooltipStyle={tooltipStyle} formatter={tooltipFormatter} locale={locale} />}\n />\n\n {keys.map((key, i) => (\n <Bar\n key={key}\n dataKey={key}\n fill={chartColors[i % chartColors.length]}\n radius={radius}\n stackId={stackId}\n label={enableLabel ? { position: 'top', style: axisTickStyle } : false}\n animationDuration={800}\n animationEasing=\"ease-out\"\n />\n ))}\n </BarChart>\n </ResponsiveContainer>\n </div>\n {legend && <ChartLegend items={legendItems} style={{ paddingTop: 12 }} />}\n </div>\n </ChartContainer>\n )\n})\nPartoBarChart.displayName = 'PartoBarChart'\n"]}
|