@stackframe/stack-ui 2.8.60 → 2.8.62
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/action-dialog.js +130 -36
- package/dist/components/action-dialog.js.map +1 -0
- package/dist/components/brand-icons.js +413 -93
- package/dist/components/brand-icons.js.map +1 -0
- package/dist/components/browser-frame/index.js +63 -8
- package/dist/components/browser-frame/index.js.map +1 -0
- package/dist/components/copy-button.js +56 -17
- package/dist/components/copy-button.js.map +1 -0
- package/dist/components/copy-field.js +68 -12
- package/dist/components/copy-field.js.map +1 -0
- package/dist/components/data-table/cells.js +121 -50
- package/dist/components/data-table/cells.js.map +1 -0
- package/dist/components/data-table/column-header.js +62 -7
- package/dist/components/data-table/column-header.js.map +1 -0
- package/dist/components/data-table/data-table.js +263 -93
- package/dist/components/data-table/data-table.js.map +1 -0
- package/dist/components/data-table/faceted-filter.js +133 -25
- package/dist/components/data-table/faceted-filter.js.map +1 -0
- package/dist/components/data-table/index.js +41 -9
- package/dist/components/data-table/index.js.map +1 -0
- package/dist/components/data-table/pagination.js +89 -9
- package/dist/components/data-table/pagination.js.map +1 -0
- package/dist/components/data-table/toolbar-items.js +42 -4
- package/dist/components/data-table/toolbar-items.js.map +1 -0
- package/dist/components/data-table/toolbar.js +114 -44
- package/dist/components/data-table/toolbar.js.map +1 -0
- package/dist/components/data-table/utils.js +36 -4
- package/dist/components/data-table/utils.js.map +1 -0
- package/dist/components/data-table/view-options.js +70 -10
- package/dist/components/data-table/view-options.js.map +1 -0
- package/dist/components/simple-tooltip.js +45 -13
- package/dist/components/simple-tooltip.js.map +1 -0
- package/dist/components/ui/accordion.js +85 -10
- package/dist/components/ui/accordion.js.map +1 -0
- package/dist/components/ui/alert.js +75 -17
- package/dist/components/ui/alert.js.map +1 -0
- package/dist/components/ui/aspect-ratio.js +43 -3
- package/dist/components/ui/aspect-ratio.js.map +1 -0
- package/dist/components/ui/avatar.js +79 -8
- package/dist/components/ui/avatar.js.map +1 -0
- package/dist/components/ui/badge.js +51 -17
- package/dist/components/ui/badge.js.map +1 -0
- package/dist/components/ui/breadcrumb.js +118 -15
- package/dist/components/ui/breadcrumb.js.map +1 -0
- package/dist/components/ui/button.js +98 -39
- package/dist/components/ui/button.js.map +1 -0
- package/dist/components/ui/calendar.js +93 -39
- package/dist/components/ui/calendar.js.map +1 -0
- package/dist/components/ui/card.js +97 -11
- package/dist/components/ui/card.js.map +1 -0
- package/dist/components/ui/checkbox.js +64 -7
- package/dist/components/ui/checkbox.js.map +1 -0
- package/dist/components/ui/collapsible.js +49 -5
- package/dist/components/ui/collapsible.js.map +1 -0
- package/dist/components/ui/command.js +147 -25
- package/dist/components/ui/command.js.map +1 -0
- package/dist/components/ui/context-menu.js +196 -24
- package/dist/components/ui/context-menu.js.map +1 -0
- package/dist/components/ui/dialog.js +151 -17
- package/dist/components/ui/dialog.js.map +1 -0
- package/dist/components/ui/dropdown-menu.js +237 -55
- package/dist/components/ui/dropdown-menu.js.map +1 -0
- package/dist/components/ui/form.js +142 -53
- package/dist/components/ui/form.js.map +1 -0
- package/dist/components/ui/hover-card.js +64 -8
- package/dist/components/ui/hover-card.js.map +1 -0
- package/dist/components/ui/inline-code.js +62 -25
- package/dist/components/ui/inline-code.js.map +1 -0
- package/dist/components/ui/input-otp.js +87 -14
- package/dist/components/ui/input-otp.js.map +1 -0
- package/dist/components/ui/input.js +86 -22
- package/dist/components/ui/input.js.map +1 -0
- package/dist/components/ui/label.js +67 -9
- package/dist/components/ui/label.js.map +1 -0
- package/dist/components/ui/menubar.js +224 -24
- package/dist/components/ui/menubar.js.map +1 -0
- package/dist/components/ui/navigation-menu.js +149 -20
- package/dist/components/ui/navigation-menu.js.map +1 -0
- package/dist/components/ui/password-input.js +79 -11
- package/dist/components/ui/password-input.js.map +1 -0
- package/dist/components/ui/popover.js +67 -9
- package/dist/components/ui/popover.js.map +1 -0
- package/dist/components/ui/progress.js +63 -6
- package/dist/components/ui/progress.js.map +1 -0
- package/dist/components/ui/radio-group.js +70 -10
- package/dist/components/ui/radio-group.js.map +1 -0
- package/dist/components/ui/resizable.js +78 -8
- package/dist/components/ui/resizable.js.map +1 -0
- package/dist/components/ui/scroll-area.js +75 -9
- package/dist/components/ui/scroll-area.js.map +1 -0
- package/dist/components/ui/select.js +166 -20
- package/dist/components/ui/select.js.map +1 -0
- package/dist/components/ui/separator.js +61 -6
- package/dist/components/ui/separator.js.map +1 -0
- package/dist/components/ui/sheet.js +153 -27
- package/dist/components/ui/sheet.js.map +1 -0
- package/dist/components/ui/skeleton.js +46 -5
- package/dist/components/ui/skeleton.js.map +1 -0
- package/dist/components/ui/slider.js +60 -6
- package/dist/components/ui/slider.js.map +1 -0
- package/dist/components/ui/spinner.js +36 -6
- package/dist/components/ui/spinner.js.map +1 -0
- package/dist/components/ui/switch.js +92 -21
- package/dist/components/ui/switch.js.map +1 -0
- package/dist/components/ui/table.js +117 -12
- package/dist/components/ui/table.js.map +1 -0
- package/dist/components/ui/tabs.js +85 -9
- package/dist/components/ui/tabs.js.map +1 -0
- package/dist/components/ui/textarea.js +47 -6
- package/dist/components/ui/textarea.js.map +1 -0
- package/dist/components/ui/toast.js +135 -25
- package/dist/components/ui/toast.js.map +1 -0
- package/dist/components/ui/toaster.js +49 -8
- package/dist/components/ui/toaster.js.map +1 -0
- package/dist/components/ui/toggle-group.js +78 -17
- package/dist/components/ui/toggle-group.js.map +1 -0
- package/dist/components/ui/toggle.js +73 -21
- package/dist/components/ui/toggle.js.map +1 -0
- package/dist/components/ui/tooltip.js +72 -9
- package/dist/components/ui/tooltip.js.map +1 -0
- package/dist/components/ui/typography.js +69 -31
- package/dist/components/ui/typography.js.map +1 -0
- package/dist/components/ui/use-toast.js +151 -116
- package/dist/components/ui/use-toast.js.map +1 -0
- package/dist/esm/components/action-dialog.js +97 -0
- package/dist/esm/components/action-dialog.js.map +1 -0
- package/dist/esm/components/brand-icons.js +390 -0
- package/dist/esm/components/brand-icons.js.map +1 -0
- package/dist/esm/components/browser-frame/index.js +43 -0
- package/dist/esm/components/browser-frame/index.js.map +1 -0
- package/dist/esm/components/copy-button.js +35 -0
- package/dist/esm/components/copy-button.js.map +1 -0
- package/dist/esm/components/copy-field.js +44 -0
- package/dist/esm/components/copy-field.js.map +1 -0
- package/dist/esm/components/data-table/cells.js +88 -0
- package/dist/esm/components/data-table/cells.js.map +1 -0
- package/dist/esm/components/data-table/column-header.js +40 -0
- package/dist/esm/components/data-table/column-header.js.map +1 -0
- package/dist/esm/components/data-table/data-table.js +249 -0
- package/dist/esm/components/data-table/data-table.js.map +1 -0
- package/dist/esm/components/data-table/faceted-filter.js +117 -0
- package/dist/esm/components/data-table/faceted-filter.js.map +1 -0
- package/dist/esm/components/data-table/index.js +11 -0
- package/dist/esm/components/data-table/index.js.map +1 -0
- package/dist/esm/components/data-table/pagination.js +71 -0
- package/dist/esm/components/data-table/pagination.js.map +1 -0
- package/dist/esm/components/data-table/toolbar-items.js +18 -0
- package/dist/esm/components/data-table/toolbar-items.js.map +1 -0
- package/dist/esm/components/data-table/toolbar.js +92 -0
- package/dist/esm/components/data-table/toolbar.js.map +1 -0
- package/dist/esm/components/data-table/utils.js +12 -0
- package/dist/esm/components/data-table/utils.js.map +1 -0
- package/dist/esm/components/data-table/view-options.js +55 -0
- package/dist/esm/components/data-table/view-options.js.map +1 -0
- package/dist/esm/components/simple-tooltip.js +21 -0
- package/dist/esm/components/simple-tooltip.js.map +1 -0
- package/dist/esm/components/ui/accordion.js +52 -0
- package/dist/esm/components/ui/accordion.js.map +1 -0
- package/dist/esm/components/ui/alert.js +54 -0
- package/dist/esm/components/ui/alert.js.map +1 -0
- package/dist/esm/components/ui/aspect-ratio.js +10 -0
- package/dist/esm/components/ui/aspect-ratio.js.map +1 -0
- package/dist/esm/components/ui/avatar.js +47 -0
- package/dist/esm/components/ui/avatar.js.map +1 -0
- package/dist/esm/components/ui/badge.js +30 -0
- package/dist/esm/components/ui/badge.js.map +1 -0
- package/dist/esm/components/ui/breadcrumb.js +95 -0
- package/dist/esm/components/ui/breadcrumb.js.map +1 -0
- package/dist/esm/components/ui/button.js +79 -0
- package/dist/esm/components/ui/button.js.map +1 -0
- package/dist/esm/components/ui/calendar.js +72 -0
- package/dist/esm/components/ui/calendar.js.map +1 -0
- package/dist/esm/components/ui/card.js +72 -0
- package/dist/esm/components/ui/card.js.map +1 -0
- package/dist/esm/components/ui/checkbox.js +32 -0
- package/dist/esm/components/ui/checkbox.js.map +1 -0
- package/dist/esm/components/ui/collapsible.js +14 -0
- package/dist/esm/components/ui/collapsible.js.map +1 -0
- package/dist/esm/components/ui/command.js +119 -0
- package/dist/esm/components/ui/command.js.map +1 -0
- package/dist/esm/components/ui/context-menu.js +162 -0
- package/dist/esm/components/ui/context-menu.js.map +1 -0
- package/dist/esm/components/ui/dialog.js +114 -0
- package/dist/esm/components/ui/dialog.js.map +1 -0
- package/dist/esm/components/ui/dropdown-menu.js +200 -0
- package/dist/esm/components/ui/dropdown-menu.js.map +1 -0
- package/dist/esm/components/ui/form.js +118 -0
- package/dist/esm/components/ui/form.js.map +1 -0
- package/dist/esm/components/ui/hover-card.js +30 -0
- package/dist/esm/components/ui/hover-card.js.map +1 -0
- package/dist/esm/components/ui/inline-code.js +42 -0
- package/dist/esm/components/ui/inline-code.js.map +1 -0
- package/dist/esm/components/ui/input-otp.js +56 -0
- package/dist/esm/components/ui/input-otp.js.map +1 -0
- package/dist/esm/components/ui/input.js +57 -0
- package/dist/esm/components/ui/input.js.map +1 -0
- package/dist/esm/components/ui/label.js +35 -0
- package/dist/esm/components/ui/label.js.map +1 -0
- package/dist/esm/components/ui/menubar.js +192 -0
- package/dist/esm/components/ui/menubar.js.map +1 -0
- package/dist/esm/components/ui/navigation-menu.js +112 -0
- package/dist/esm/components/ui/navigation-menu.js.map +1 -0
- package/dist/esm/components/ui/password-input.js +58 -0
- package/dist/esm/components/ui/password-input.js.map +1 -0
- package/dist/esm/components/ui/popover.js +32 -0
- package/dist/esm/components/ui/popover.js.map +1 -0
- package/dist/esm/components/ui/progress.js +31 -0
- package/dist/esm/components/ui/progress.js.map +1 -0
- package/dist/esm/components/ui/radio-group.js +40 -0
- package/dist/esm/components/ui/radio-group.js.map +1 -0
- package/dist/esm/components/ui/resizable.js +43 -0
- package/dist/esm/components/ui/resizable.js.map +1 -0
- package/dist/esm/components/ui/scroll-area.js +43 -0
- package/dist/esm/components/ui/scroll-area.js.map +1 -0
- package/dist/esm/components/ui/select.js +135 -0
- package/dist/esm/components/ui/select.js.map +1 -0
- package/dist/esm/components/ui/separator.js +29 -0
- package/dist/esm/components/ui/separator.js.map +1 -0
- package/dist/esm/components/ui/sheet.js +120 -0
- package/dist/esm/components/ui/sheet.js.map +1 -0
- package/dist/esm/components/ui/skeleton.js +24 -0
- package/dist/esm/components/ui/skeleton.js.map +1 -0
- package/dist/esm/components/ui/slider.js +28 -0
- package/dist/esm/components/ui/slider.js.map +1 -0
- package/dist/esm/components/ui/spinner.js +13 -0
- package/dist/esm/components/ui/spinner.js.map +1 -0
- package/dist/esm/components/ui/switch.js +62 -0
- package/dist/esm/components/ui/switch.js.map +1 -0
- package/dist/esm/components/ui/table.js +93 -0
- package/dist/esm/components/ui/table.js.map +1 -0
- package/dist/esm/components/ui/tabs.js +52 -0
- package/dist/esm/components/ui/tabs.js.map +1 -0
- package/dist/esm/components/ui/textarea.js +24 -0
- package/dist/esm/components/ui/textarea.js.map +1 -0
- package/dist/esm/components/ui/toast.js +105 -0
- package/dist/esm/components/ui/toast.js.map +1 -0
- package/dist/esm/components/ui/toaster.js +34 -0
- package/dist/esm/components/ui/toaster.js.map +1 -0
- package/dist/esm/components/ui/toggle-group.js +48 -0
- package/dist/esm/components/ui/toggle-group.js.map +1 -0
- package/dist/esm/components/ui/toggle.js +43 -0
- package/dist/esm/components/ui/toggle.js.map +1 -0
- package/dist/esm/components/ui/tooltip.js +38 -0
- package/dist/esm/components/ui/tooltip.js.map +1 -0
- package/dist/esm/components/ui/typography.js +47 -0
- package/dist/esm/components/ui/typography.js.map +1 -0
- package/dist/esm/components/ui/use-toast.js +130 -0
- package/dist/esm/components/ui/use-toast.js.map +1 -0
- package/dist/esm/index.js +59 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/lib/utils.js +10 -0
- package/dist/esm/lib/utils.js.map +1 -0
- package/dist/index.d.mts +967 -0
- package/dist/index.d.ts +967 -54
- package/dist/index.js +147 -53
- package/dist/index.js.map +1 -0
- package/dist/lib/utils.js +34 -4
- package/dist/lib/utils.js.map +1 -0
- package/package.json +10 -5
- package/dist/components/action-dialog.d.ts +0 -28
- package/dist/components/action-dialog.d.ts.map +0 -1
- package/dist/components/brand-icons.d.ts +0 -43
- package/dist/components/brand-icons.d.ts.map +0 -1
- package/dist/components/browser-frame/index.d.ts +0 -10
- package/dist/components/browser-frame/index.d.ts.map +0 -1
- package/dist/components/copy-button.d.ts +0 -17
- package/dist/components/copy-button.d.ts.map +0 -1
- package/dist/components/copy-field.d.ts +0 -13
- package/dist/components/copy-field.d.ts.map +0 -1
- package/dist/components/data-table/cells.d.ts +0 -31
- package/dist/components/data-table/cells.d.ts.map +0 -1
- package/dist/components/data-table/column-header.d.ts +0 -8
- package/dist/components/data-table/column-header.d.ts.map +0 -1
- package/dist/components/data-table/data-table.d.ts +0 -36
- package/dist/components/data-table/data-table.d.ts.map +0 -1
- package/dist/components/data-table/faceted-filter.d.ts +0 -16
- package/dist/components/data-table/faceted-filter.d.ts.map +0 -1
- package/dist/components/data-table/index.d.ts +0 -10
- package/dist/components/data-table/index.d.ts.map +0 -1
- package/dist/components/data-table/pagination.d.ts +0 -7
- package/dist/components/data-table/pagination.d.ts.map +0 -1
- package/dist/components/data-table/toolbar-items.d.ts +0 -8
- package/dist/components/data-table/toolbar-items.d.ts.map +0 -1
- package/dist/components/data-table/toolbar.d.ts +0 -12
- package/dist/components/data-table/toolbar.d.ts.map +0 -1
- package/dist/components/data-table/utils.d.ts +0 -3
- package/dist/components/data-table/utils.d.ts.map +0 -1
- package/dist/components/data-table/view-options.d.ts +0 -7
- package/dist/components/data-table/view-options.d.ts.map +0 -1
- package/dist/components/simple-tooltip.d.ts +0 -9
- package/dist/components/simple-tooltip.d.ts.map +0 -1
- package/dist/components/ui/accordion.d.ts +0 -14
- package/dist/components/ui/accordion.d.ts.map +0 -1
- package/dist/components/ui/alert.d.ts +0 -15
- package/dist/components/ui/alert.d.ts.map +0 -1
- package/dist/components/ui/aspect-ratio.d.ts +0 -4
- package/dist/components/ui/aspect-ratio.d.ts.map +0 -1
- package/dist/components/ui/avatar.d.ts +0 -13
- package/dist/components/ui/avatar.d.ts.map +0 -1
- package/dist/components/ui/badge.d.ts +0 -13
- package/dist/components/ui/badge.d.ts.map +0 -1
- package/dist/components/ui/breadcrumb.d.ts +0 -30
- package/dist/components/ui/breadcrumb.d.ts.map +0 -1
- package/dist/components/ui/button.d.ts +0 -28
- package/dist/components/ui/button.d.ts.map +0 -1
- package/dist/components/ui/calendar.d.ts +0 -9
- package/dist/components/ui/calendar.d.ts.map +0 -1
- package/dist/components/ui/card.d.ts +0 -23
- package/dist/components/ui/card.d.ts.map +0 -1
- package/dist/components/ui/checkbox.d.ts +0 -7
- package/dist/components/ui/checkbox.d.ts.map +0 -1
- package/dist/components/ui/collapsible.d.ts +0 -6
- package/dist/components/ui/collapsible.d.ts.map +0 -1
- package/dist/components/ui/command.d.ts +0 -18
- package/dist/components/ui/command.d.ts.map +0 -1
- package/dist/components/ui/context-menu.d.ts +0 -44
- package/dist/components/ui/context-menu.d.ts.map +0 -1
- package/dist/components/ui/dialog.d.ts +0 -34
- package/dist/components/ui/dialog.d.ts.map +0 -1
- package/dist/components/ui/dropdown-menu.d.ts +0 -47
- package/dist/components/ui/dropdown-menu.d.ts.map +0 -1
- package/dist/components/ui/form.d.ts +0 -34
- package/dist/components/ui/form.d.ts.map +0 -1
- package/dist/components/ui/hover-card.d.ts +0 -9
- package/dist/components/ui/hover-card.d.ts.map +0 -1
- package/dist/components/ui/inline-code.d.ts +0 -6
- package/dist/components/ui/inline-code.d.ts.map +0 -1
- package/dist/components/ui/input-otp.d.ts +0 -17
- package/dist/components/ui/input-otp.d.ts.map +0 -1
- package/dist/components/ui/input.d.ts +0 -20
- package/dist/components/ui/input.d.ts.map +0 -1
- package/dist/components/ui/label.d.ts +0 -11
- package/dist/components/ui/label.d.ts.map +0 -1
- package/dist/components/ui/menubar.d.ts +0 -31
- package/dist/components/ui/menubar.d.ts.map +0 -1
- package/dist/components/ui/navigation-menu.d.ts +0 -25
- package/dist/components/ui/navigation-menu.d.ts.map +0 -1
- package/dist/components/ui/password-input.d.ts +0 -7
- package/dist/components/ui/password-input.d.ts.map +0 -1
- package/dist/components/ui/popover.d.ts +0 -10
- package/dist/components/ui/popover.d.ts.map +0 -1
- package/dist/components/ui/progress.d.ts +0 -7
- package/dist/components/ui/progress.d.ts.map +0 -1
- package/dist/components/ui/radio-group.d.ts +0 -10
- package/dist/components/ui/radio-group.d.ts.map +0 -1
- package/dist/components/ui/resizable.d.ts +0 -37
- package/dist/components/ui/resizable.d.ts.map +0 -1
- package/dist/components/ui/scroll-area.d.ts +0 -10
- package/dist/components/ui/scroll-area.d.ts.map +0 -1
- package/dist/components/ui/select.d.ts +0 -30
- package/dist/components/ui/select.d.ts.map +0 -1
- package/dist/components/ui/separator.d.ts +0 -7
- package/dist/components/ui/separator.d.ts.map +0 -1
- package/dist/components/ui/sheet.d.ts +0 -33
- package/dist/components/ui/sheet.d.ts.map +0 -1
- package/dist/components/ui/skeleton.d.ts +0 -4
- package/dist/components/ui/skeleton.d.ts.map +0 -1
- package/dist/components/ui/slider.d.ts +0 -7
- package/dist/components/ui/slider.d.ts.map +0 -1
- package/dist/components/ui/spinner.d.ts +0 -7
- package/dist/components/ui/spinner.d.ts.map +0 -1
- package/dist/components/ui/switch.d.ts +0 -11
- package/dist/components/ui/switch.d.ts.map +0 -1
- package/dist/components/ui/table.d.ts +0 -27
- package/dist/components/ui/table.d.ts.map +0 -1
- package/dist/components/ui/tabs.d.ts +0 -14
- package/dist/components/ui/tabs.d.ts.map +0 -1
- package/dist/components/ui/textarea.d.ts +0 -7
- package/dist/components/ui/textarea.d.ts.map +0 -1
- package/dist/components/ui/toast.d.ts +0 -28
- package/dist/components/ui/toast.d.ts.map +0 -1
- package/dist/components/ui/toaster.d.ts +0 -2
- package/dist/components/ui/toaster.d.ts.map +0 -1
- package/dist/components/ui/toggle-group.d.ts +0 -17
- package/dist/components/ui/toggle-group.d.ts.map +0 -1
- package/dist/components/ui/toggle.d.ts +0 -15
- package/dist/components/ui/toggle.d.ts.map +0 -1
- package/dist/components/ui/tooltip.d.ts +0 -12
- package/dist/components/ui/tooltip.d.ts.map +0 -1
- package/dist/components/ui/typography.d.ts +0 -10
- package/dist/components/ui/typography.d.ts.map +0 -1
- package/dist/components/ui/use-toast.d.ts +0 -45
- package/dist/components/ui/use-toast.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/lib/utils.d.ts +0 -3
- package/dist/lib/utils.d.ts.map +0 -1
|
@@ -1,13 +1,68 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/components/browser-frame/index.tsx
|
|
21
|
+
var browser_frame_exports = {};
|
|
22
|
+
__export(browser_frame_exports, {
|
|
23
|
+
BrowserFrame: () => BrowserFrame
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(browser_frame_exports);
|
|
26
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
27
|
+
var BrowserFrame = ({ url, padding, transparentBackground, children, className }) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: `rounded-xl overflow-hidden shadow-2xl ${className}`, children: [
|
|
28
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "bg-gray-200 dark:bg-gray-800 h-10 flex items-center py-2 px-4 box-border", children: [
|
|
29
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "w-3 h-3 bg-red-500 rounded-full mr-1.5 flex-shrink-0" }),
|
|
30
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "w-3 h-3 bg-yellow-500 rounded-full mr-1.5 flex-shrink-0" }),
|
|
31
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "w-3 h-3 bg-green-500 rounded-full mr-2 flex-shrink-0" }),
|
|
32
|
+
url && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
33
|
+
"div",
|
|
34
|
+
{
|
|
35
|
+
className: "text-left bg-white dark:bg-gray-700 h-6 rounded-full leading-6 text-sm text-gray-700 dark:text-gray-300 flex-grow ml-2 mr-4 px-4 whitespace-nowrap overflow-hidden overflow-ellipsis",
|
|
36
|
+
"aria-hidden": true,
|
|
37
|
+
children: url
|
|
38
|
+
}
|
|
39
|
+
),
|
|
40
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "w-4 h-4 ml-auto flex flex-col justify-evenly items-stretch flex-shrink-0", children: [
|
|
41
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "h-0.5 bg-gray-400 dark:bg-gray-500" }),
|
|
42
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "h-0.5 bg-gray-400 dark:bg-gray-500" }),
|
|
43
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "h-0.5 bg-gray-400 dark:bg-gray-500" })
|
|
44
|
+
] })
|
|
45
|
+
] }),
|
|
46
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
47
|
+
"div",
|
|
48
|
+
{
|
|
49
|
+
className: `flex grow flex-col p-4 rounded-b-md ${padding ? padding : ""} ${transparentBackground ? "" : "bg-white dark:bg-black"}`,
|
|
50
|
+
style: transparentBackground ? {
|
|
51
|
+
backgroundImage: `
|
|
6
52
|
linear-gradient(45deg, #f0f0f0 25%, transparent 25%),
|
|
7
53
|
linear-gradient(-45deg, #f0f0f0 25%, transparent 25%),
|
|
8
54
|
linear-gradient(45deg, transparent 75%, #f0f0f0 75%),
|
|
9
55
|
linear-gradient(-45deg, transparent 75%, #f0f0f0 75%)
|
|
10
56
|
`,
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
57
|
+
backgroundSize: "20px 20px",
|
|
58
|
+
backgroundPosition: "0 0, 0 10px, 10px -10px, -10px 0px"
|
|
59
|
+
} : {},
|
|
60
|
+
children
|
|
61
|
+
}
|
|
62
|
+
)
|
|
63
|
+
] });
|
|
64
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
65
|
+
0 && (module.exports = {
|
|
66
|
+
BrowserFrame
|
|
67
|
+
});
|
|
68
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/browser-frame/index.tsx"],"sourcesContent":["import React from \"react\";\n\nexport type Props = {\n url?: string,\n padding?: string,\n transparentBackground?: boolean,\n children: React.ReactNode,\n className?: string,\n};\n\nexport const BrowserFrame = ({ url, padding, transparentBackground, children, className }: Props) => (\n <div className={`rounded-xl overflow-hidden shadow-2xl ${className}`}>\n <div className=\"bg-gray-200 dark:bg-gray-800 h-10 flex items-center py-2 px-4 box-border\">\n <div className=\"w-3 h-3 bg-red-500 rounded-full mr-1.5 flex-shrink-0\" />\n <div className=\"w-3 h-3 bg-yellow-500 rounded-full mr-1.5 flex-shrink-0\" />\n <div className=\"w-3 h-3 bg-green-500 rounded-full mr-2 flex-shrink-0\" />\n {url && (\n <div\n className=\"text-left bg-white dark:bg-gray-700 h-6 rounded-full leading-6 text-sm text-gray-700 dark:text-gray-300 flex-grow ml-2 mr-4 px-4 whitespace-nowrap overflow-hidden overflow-ellipsis\"\n aria-hidden\n >\n {url}\n </div>\n )}\n <div className=\"w-4 h-4 ml-auto flex flex-col justify-evenly items-stretch flex-shrink-0\">\n <span className=\"h-0.5 bg-gray-400 dark:bg-gray-500\" />\n <span className=\"h-0.5 bg-gray-400 dark:bg-gray-500\" />\n <span className=\"h-0.5 bg-gray-400 dark:bg-gray-500\" />\n </div>\n </div>\n <div\n className={`flex grow flex-col p-4 rounded-b-md ${padding ? padding : \"\"} ${\n transparentBackground\n ? \"\"\n : \"bg-white dark:bg-black\"\n }`}\n style={transparentBackground ? {\n backgroundImage: `\n linear-gradient(45deg, #f0f0f0 25%, transparent 25%), \n linear-gradient(-45deg, #f0f0f0 25%, transparent 25%), \n linear-gradient(45deg, transparent 75%, #f0f0f0 75%), \n linear-gradient(-45deg, transparent 75%, #f0f0f0 75%)\n `,\n backgroundSize: '20px 20px',\n backgroundPosition: '0 0, 0 10px, 10px -10px, -10px 0px'\n } : {}}\n >\n {children}\n </div>\n </div>\n);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAaM;AAHC,IAAM,eAAe,CAAC,EAAE,KAAK,SAAS,uBAAuB,UAAU,UAAU,MACtF,6CAAC,SAAI,WAAW,yCAAyC,SAAS,IAChE;AAAA,+CAAC,SAAI,WAAU,4EACb;AAAA,gDAAC,SAAI,WAAU,wDAAuD;AAAA,IACtE,4CAAC,SAAI,WAAU,2DAA0D;AAAA,IACzE,4CAAC,SAAI,WAAU,wDAAuD;AAAA,IACrE,OACC;AAAA,MAAC;AAAA;AAAA,QACC,WAAU;AAAA,QACV,eAAW;AAAA,QAEV;AAAA;AAAA,IACH;AAAA,IAEF,6CAAC,SAAI,WAAU,4EACb;AAAA,kDAAC,UAAK,WAAU,sCAAqC;AAAA,MACrD,4CAAC,UAAK,WAAU,sCAAqC;AAAA,MACrD,4CAAC,UAAK,WAAU,sCAAqC;AAAA,OACvD;AAAA,KACF;AAAA,EACA;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,uCAAuC,UAAU,UAAU,EAAE,IACtE,wBACI,KACA,wBACN;AAAA,MACA,OAAO,wBAAwB;AAAA,QAC7B,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAMjB,gBAAgB;AAAA,QAChB,oBAAoB;AAAA,MACtB,IAAI,CAAC;AAAA,MAEJ;AAAA;AAAA,EACH;AAAA,GACF;","names":[]}
|
|
@@ -1,20 +1,59 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
2
|
+
"use strict";
|
|
3
|
+
"use client";
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
21
|
+
|
|
22
|
+
// src/components/copy-button.tsx
|
|
23
|
+
var copy_button_exports = {};
|
|
24
|
+
__export(copy_button_exports, {
|
|
25
|
+
CopyButton: () => CopyButton
|
|
26
|
+
});
|
|
27
|
+
module.exports = __toCommonJS(copy_button_exports);
|
|
28
|
+
var import_react = require("@stackframe/stack-shared/dist/utils/react");
|
|
29
|
+
var import_lucide_react = require("lucide-react");
|
|
30
|
+
var import__ = require("../index.js");
|
|
31
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
32
|
+
var CopyButton = (0, import_react.forwardRefIfNeeded)((props, ref) => {
|
|
33
|
+
const { toast } = (0, import__.useToast)();
|
|
34
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
35
|
+
import__.Button,
|
|
36
|
+
{
|
|
37
|
+
variant: "secondary",
|
|
38
|
+
...props,
|
|
39
|
+
className: (0, import__.cn)("h-6 w-6 p-1", props.className),
|
|
40
|
+
ref,
|
|
41
|
+
onClick: async (...args) => {
|
|
42
|
+
await props.onClick?.(...args);
|
|
43
|
+
try {
|
|
44
|
+
await navigator.clipboard.writeText(props.content);
|
|
45
|
+
toast({ description: "Copied to clipboard!", variant: "success" });
|
|
46
|
+
} catch (e) {
|
|
47
|
+
toast({ description: "Failed to copy to clipboard", variant: "destructive" });
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Copy, {})
|
|
51
|
+
}
|
|
52
|
+
);
|
|
18
53
|
});
|
|
19
54
|
CopyButton.displayName = "CopyButton";
|
|
20
|
-
export
|
|
55
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
56
|
+
0 && (module.exports = {
|
|
57
|
+
CopyButton
|
|
58
|
+
});
|
|
59
|
+
//# sourceMappingURL=copy-button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/components/copy-button.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRefIfNeeded } from \"@stackframe/stack-shared/dist/utils/react\";\nimport { Copy } from \"lucide-react\";\nimport React from \"react\";\nimport { Button, cn, useToast } from \"..\";\n\nconst CopyButton = forwardRefIfNeeded<\n React.ElementRef<typeof Button>,\n React.ComponentProps<typeof Button> & { content: string }\n>((props, ref) => {\n const { toast } = useToast();\n\n return (\n <Button\n variant=\"secondary\"\n {...props}\n className={cn(\"h-6 w-6 p-1\", props.className)}\n ref={ref}\n onClick={async (...args) => {\n await props.onClick?.(...args);\n try {\n await navigator.clipboard.writeText(props.content);\n toast({ description: 'Copied to clipboard!', variant: 'success' });\n } catch (e) {\n toast({ description: 'Failed to copy to clipboard', variant: 'destructive' });\n }\n }}\n >\n <Copy />\n </Button>\n );\n});\nCopyButton.displayName = \"CopyButton\";\n\nexport { CopyButton };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,mBAAmC;AACnC,0BAAqB;AAErB,eAAqC;AAwB/B;AAtBN,IAAM,iBAAa,iCAGjB,CAAC,OAAO,QAAQ;AAChB,QAAM,EAAE,MAAM,QAAI,mBAAS;AAE3B,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACP,GAAG;AAAA,MACJ,eAAW,aAAG,eAAe,MAAM,SAAS;AAAA,MAC5C;AAAA,MACA,SAAS,UAAU,SAAS;AAC1B,cAAM,MAAM,UAAU,GAAG,IAAI;AAC7B,YAAI;AACF,gBAAM,UAAU,UAAU,UAAU,MAAM,OAAO;AACjD,gBAAM,EAAE,aAAa,wBAAwB,SAAS,UAAU,CAAC;AAAA,QACnE,SAAS,GAAG;AACV,gBAAM,EAAE,aAAa,+BAA+B,SAAS,cAAc,CAAC;AAAA,QAC9E;AAAA,MACF;AAAA,MAEA,sDAAC,4BAAK;AAAA;AAAA,EACR;AAEJ,CAAC;AACD,WAAW,cAAc;","names":[]}
|
|
@@ -1,13 +1,69 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/components/copy-field.tsx
|
|
21
|
+
var copy_field_exports = {};
|
|
22
|
+
__export(copy_field_exports, {
|
|
23
|
+
CopyField: () => CopyField
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(copy_field_exports);
|
|
26
|
+
var import__ = require("../index.js");
|
|
27
|
+
var import_copy_button = require("./copy-button.js");
|
|
28
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
29
|
+
function CopyField(props) {
|
|
30
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { children: [
|
|
31
|
+
props.label && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import__.Label, { className: "flex items-center gap-2 mb-2", children: [
|
|
32
|
+
props.label,
|
|
33
|
+
props.helper && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import__.SimpleTooltip, { type: "info", tooltip: props.helper })
|
|
34
|
+
] }),
|
|
35
|
+
props.type === "textarea" ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "relative pr-2", children: [
|
|
36
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
37
|
+
import__.Textarea,
|
|
38
|
+
{
|
|
39
|
+
readOnly: true,
|
|
40
|
+
value: props.value,
|
|
41
|
+
style: {
|
|
42
|
+
height: props.height,
|
|
43
|
+
fontFamily: props.monospace ? "ui-monospace, monospace" : "inherit",
|
|
44
|
+
whiteSpace: props.monospace ? "pre" : "normal",
|
|
45
|
+
resize: props.fixedSize ? "none" : "vertical"
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
),
|
|
49
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_copy_button.CopyButton, { content: props.value, className: "absolute right-4 top-2" })
|
|
50
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
51
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
52
|
+
import__.Input,
|
|
53
|
+
{
|
|
54
|
+
readOnly: true,
|
|
55
|
+
value: props.value,
|
|
56
|
+
style: {
|
|
57
|
+
fontFamily: props.monospace ? "ui-monospace, monospace" : "inherit"
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
),
|
|
61
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_copy_button.CopyButton, { content: props.value })
|
|
62
|
+
] })
|
|
63
|
+
] });
|
|
13
64
|
}
|
|
65
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
66
|
+
0 && (module.exports = {
|
|
67
|
+
CopyField
|
|
68
|
+
});
|
|
69
|
+
//# sourceMappingURL=copy-field.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/components/copy-field.tsx"],"sourcesContent":["import { Input, Label, SimpleTooltip, Textarea } from \"..\";\nimport { CopyButton } from \"./copy-button\";\n\nexport function CopyField(props: {\n value: string,\n label?: React.ReactNode,\n helper?: React.ReactNode,\n monospace?: boolean,\n fixedSize?: boolean,\n} & ({\n type: \"textarea\",\n height?: number,\n} | {\n type: \"input\",\n})) {\n return (\n <div>\n {props.label && (\n <Label className=\"flex items-center gap-2 mb-2\">\n {props.label}\n {props.helper && <SimpleTooltip type=\"info\" tooltip={props.helper} />}\n </Label>\n )}\n {props.type === \"textarea\" ? (\n <div className=\"relative pr-2\">\n <Textarea\n readOnly\n value={props.value}\n style={{\n height: props.height,\n fontFamily: props.monospace ? \"ui-monospace, monospace\" : \"inherit\",\n whiteSpace: props.monospace ? \"pre\" : \"normal\",\n resize: props.fixedSize ? \"none\" : \"vertical\"\n }}\n />\n <CopyButton content={props.value} className=\"absolute right-4 top-2\" />\n </div>\n ) : (\n <div className=\"flex items-center gap-2\">\n <Input\n readOnly\n value={props.value}\n style={{\n fontFamily: props.monospace ? \"ui-monospace, monospace\" : \"inherit\",\n }}\n />\n <CopyButton content={props.value} />\n </div>\n )}\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAAsD;AACtD,yBAA2B;AAiBnB;AAfD,SAAS,UAAU,OAWtB;AACF,SACE,6CAAC,SACE;AAAA,UAAM,SACL,6CAAC,kBAAM,WAAU,gCACd;AAAA,YAAM;AAAA,MACN,MAAM,UAAU,4CAAC,0BAAc,MAAK,QAAO,SAAS,MAAM,QAAQ;AAAA,OACrE;AAAA,IAED,MAAM,SAAS,aACd,6CAAC,SAAI,WAAU,iBACb;AAAA;AAAA,QAAC;AAAA;AAAA,UACC,UAAQ;AAAA,UACR,OAAO,MAAM;AAAA,UACb,OAAO;AAAA,YACL,QAAQ,MAAM;AAAA,YACd,YAAY,MAAM,YAAY,4BAA4B;AAAA,YAC1D,YAAY,MAAM,YAAY,QAAQ;AAAA,YACtC,QAAQ,MAAM,YAAY,SAAS;AAAA,UACrC;AAAA;AAAA,MACF;AAAA,MACA,4CAAC,iCAAW,SAAS,MAAM,OAAO,WAAU,0BAAyB;AAAA,OACvE,IAEA,6CAAC,SAAI,WAAU,2BACb;AAAA;AAAA,QAAC;AAAA;AAAA,UACC,UAAQ;AAAA,UACR,OAAO,MAAM;AAAA,UACb,OAAO;AAAA,YACL,YAAY,MAAM,YAAY,4BAA4B;AAAA,UAC5D;AAAA;AAAA,MACF;AAAA,MACA,4CAAC,iCAAW,SAAS,MAAM,OAAO;AAAA,OACpC;AAAA,KAEJ;AAEJ;","names":[]}
|
|
@@ -1,55 +1,126 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
1
|
+
"use client";
|
|
2
|
+
"use strict";
|
|
3
|
+
"use client";
|
|
4
|
+
var __create = Object.create;
|
|
5
|
+
var __defProp = Object.defineProperty;
|
|
6
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
7
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
8
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
9
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
10
|
+
var __export = (target, all) => {
|
|
11
|
+
for (var name in all)
|
|
12
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
13
|
+
};
|
|
14
|
+
var __copyProps = (to, from, except, desc) => {
|
|
15
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
16
|
+
for (let key of __getOwnPropNames(from))
|
|
17
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
18
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
22
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
23
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
24
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
25
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
26
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
27
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
28
|
+
mod
|
|
29
|
+
));
|
|
30
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
31
|
+
|
|
32
|
+
// src/components/data-table/cells.tsx
|
|
33
|
+
var cells_exports = {};
|
|
34
|
+
__export(cells_exports, {
|
|
35
|
+
ActionCell: () => ActionCell,
|
|
36
|
+
AvatarCell: () => AvatarCell,
|
|
37
|
+
BadgeCell: () => BadgeCell,
|
|
38
|
+
DateCell: () => DateCell,
|
|
39
|
+
TextCell: () => TextCell
|
|
40
|
+
});
|
|
41
|
+
module.exports = __toCommonJS(cells_exports);
|
|
42
|
+
var import_react_icons = require("@radix-ui/react-icons");
|
|
43
|
+
var import_react = __toESM(require("react"));
|
|
44
|
+
var import__ = require("../../index.js");
|
|
45
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
46
|
+
var import_react2 = require("react");
|
|
47
|
+
function TextCell(props) {
|
|
48
|
+
const textRef = (0, import_react.useRef)(null);
|
|
49
|
+
const [isOverflowing, setIsOverflowing] = (0, import_react.useState)(false);
|
|
50
|
+
const overflowStyle = "text-ellipsis text-nowrap overflow-x-hidden";
|
|
51
|
+
(0, import_react.useEffect)(() => {
|
|
52
|
+
const checkOverflow = () => {
|
|
53
|
+
if (textRef.current) {
|
|
54
|
+
const isOverflowing2 = textRef.current.scrollWidth > textRef.current.clientWidth;
|
|
55
|
+
setIsOverflowing(isOverflowing2);
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
checkOverflow();
|
|
59
|
+
window.addEventListener("resize", checkOverflow);
|
|
60
|
+
return () => {
|
|
61
|
+
window.removeEventListener("resize", checkOverflow);
|
|
62
|
+
};
|
|
63
|
+
}, []);
|
|
64
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "relative", style: { minWidth: props.size }, children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex items-center gap-2 absolute inset-0", children: [
|
|
65
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: overflowStyle, ref: textRef, children: isOverflowing ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import__.SimpleTooltip, { tooltip: props.children, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: overflowStyle, children: props.children }) }) : props.children }),
|
|
66
|
+
props.icon && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { children: props.icon })
|
|
67
|
+
] }) });
|
|
25
68
|
}
|
|
26
|
-
|
|
27
|
-
|
|
69
|
+
function AvatarCell(props) {
|
|
70
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import__.Avatar, { className: "h-6 w-6", children: [
|
|
71
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import__.AvatarImage, { src: props.src }),
|
|
72
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import__.AvatarFallback, { children: props.fallback })
|
|
73
|
+
] });
|
|
28
74
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
75
|
+
function DateCell(props) {
|
|
76
|
+
const ignore = !!props.ignoreAfterYears && new Date((/* @__PURE__ */ new Date()).setFullYear((/* @__PURE__ */ new Date()).getFullYear() + props.ignoreAfterYears)) < props.date;
|
|
77
|
+
const timeString = props.date.toLocaleTimeString([], { year: "numeric", month: "numeric", day: "numeric", hour: "2-digit", minute: "2-digit" });
|
|
78
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TextCell, { size: 140, children: ignore ? "Never" : timeString });
|
|
33
79
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
80
|
+
function ActionCell(props) {
|
|
81
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import__.DropdownMenu, { children: [
|
|
82
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import__.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
83
|
+
import__.Button,
|
|
84
|
+
{
|
|
85
|
+
variant: "ghost",
|
|
86
|
+
className: (0, import__.cn)(
|
|
87
|
+
"flex h-8 w-8 p-0 data-[state=open]:bg-muted",
|
|
88
|
+
props.invisible && "invisible"
|
|
89
|
+
),
|
|
90
|
+
children: [
|
|
91
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_icons.DotsHorizontalIcon, { className: "h-4 w-4" }),
|
|
92
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "sr-only", children: "Open menu" })
|
|
93
|
+
]
|
|
94
|
+
}
|
|
95
|
+
) }),
|
|
96
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import__.DropdownMenuContent, { align: "end", className: "min-w-[150px] max-w-[300px] stack-scope", children: props.items?.map((item, index) => {
|
|
97
|
+
if (item === "-") {
|
|
98
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import__.DropdownMenuSeparator, {}, index);
|
|
99
|
+
}
|
|
100
|
+
const menuItemProps = {
|
|
101
|
+
onClick: item.onClick,
|
|
102
|
+
className: (0, import__.cn)(item.danger ? "text-destructive" : ""),
|
|
103
|
+
disabled: item.disabled
|
|
104
|
+
};
|
|
105
|
+
const menuItem = /* @__PURE__ */ (0, import_react2.createElement)(import__.DropdownMenuItem, { ...menuItemProps, key: index }, item.item);
|
|
106
|
+
if (item.disabled && item.disabledTooltip) {
|
|
107
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import__.SimpleTooltip, { tooltip: item.disabledTooltip, children: import_react.default.cloneElement(menuItem, {
|
|
108
|
+
className: (0, import__.cn)(menuItemProps.className, "opacity-50 cursor-not-allowed")
|
|
109
|
+
}) }, index);
|
|
110
|
+
}
|
|
111
|
+
return menuItem;
|
|
112
|
+
}) })
|
|
113
|
+
] });
|
|
52
114
|
}
|
|
53
|
-
|
|
54
|
-
|
|
115
|
+
function BadgeCell(props) {
|
|
116
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "flex items-center gap-1 flex-wrap", children: props.badges.map((badge, index) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import__.Badge, { variant: "secondary", children: badge }, index)) });
|
|
55
117
|
}
|
|
118
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
119
|
+
0 && (module.exports = {
|
|
120
|
+
ActionCell,
|
|
121
|
+
AvatarCell,
|
|
122
|
+
BadgeCell,
|
|
123
|
+
DateCell,
|
|
124
|
+
TextCell
|
|
125
|
+
});
|
|
126
|
+
//# sourceMappingURL=cells.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/data-table/cells.tsx"],"sourcesContent":["\n'use client';\nimport { DotsHorizontalIcon } from \"@radix-ui/react-icons\";\nimport React, { useEffect, useRef, useState } from \"react\";\nimport { Avatar, AvatarFallback, AvatarImage, Badge, Button, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger, SimpleTooltip, cn } from \"../..\";\n\nexport function TextCell(props: { children: React.ReactNode, size?: number, icon?: React.ReactNode }) {\n const textRef = useRef<HTMLDivElement>(null);\n const [isOverflowing, setIsOverflowing] = useState(false);\n const overflowStyle = \"text-ellipsis text-nowrap overflow-x-hidden\";\n\n useEffect(() => {\n const checkOverflow = () => {\n if (textRef.current) {\n const isOverflowing = textRef.current.scrollWidth > textRef.current.clientWidth;\n setIsOverflowing(isOverflowing);\n }\n };\n\n checkOverflow();\n window.addEventListener('resize', checkOverflow);\n return () => {\n window.removeEventListener('resize', checkOverflow);\n };\n }, []);\n\n return (\n <div className=\"relative\" style={{ minWidth: props.size }}>\n <div className=\"flex items-center gap-2 absolute inset-0\">\n <div className={overflowStyle} ref={textRef}>\n {isOverflowing ? (\n <SimpleTooltip tooltip={props.children}>\n <div className={overflowStyle}>\n {props.children}\n </div>\n </SimpleTooltip>\n ) : props.children}\n </div>\n {props.icon && <div>{props.icon}</div>}\n </div>\n </div>\n );\n}\n\nexport function AvatarCell(props: { src?: string, fallback?: string }) {\n return (\n <Avatar className=\"h-6 w-6\">\n <AvatarImage src={props.src} />\n <AvatarFallback>{props.fallback}</AvatarFallback>\n </Avatar>\n );\n}\n\nexport function DateCell(props: { date: Date, ignoreAfterYears?: number }) {\n const ignore = !!props.ignoreAfterYears && new Date(new Date().setFullYear(new Date().getFullYear() + props.ignoreAfterYears)) < props.date;\n const timeString = props.date.toLocaleTimeString([], { year: 'numeric', month: 'numeric', day: 'numeric', hour: '2-digit', minute: '2-digit' });\n return (\n <TextCell size={140}>\n {ignore ? 'Never' : timeString}\n </TextCell>\n );\n}\n\ntype ActionItem = '-' | {\n item: React.ReactNode,\n onClick: (e: React.MouseEvent) => void | Promise<void>,\n danger?: boolean,\n disabled?: boolean,\n disabledTooltip?: string,\n}\n\nexport function ActionCell(props: {\n items?: ActionItem[],\n invisible?: boolean,\n}) {\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button\n variant=\"ghost\"\n className={cn(\n \"flex h-8 w-8 p-0 data-[state=open]:bg-muted\",\n props.invisible && \"invisible\",\n )}\n >\n <DotsHorizontalIcon className=\"h-4 w-4\" />\n <span className=\"sr-only\">Open menu</span>\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\" className=\"min-w-[150px] max-w-[300px] stack-scope\">\n {props.items?.map((item, index) => {\n if (item === '-') {\n return <DropdownMenuSeparator key={index} />;\n }\n\n const menuItemProps = {\n onClick: item.onClick,\n className: cn(item.danger ? \"text-destructive\" : \"\"),\n disabled: item.disabled\n };\n\n const menuItem = (\n <DropdownMenuItem {...menuItemProps} key={index}>\n {item.item}\n </DropdownMenuItem>\n );\n\n if (item.disabled && item.disabledTooltip) {\n return (\n <SimpleTooltip tooltip={item.disabledTooltip} key={index}>\n {React.cloneElement(menuItem, {\n className: cn(menuItemProps.className, \"opacity-50 cursor-not-allowed\")\n })}\n </SimpleTooltip>\n );\n }\n\n return menuItem;\n })}\n </DropdownMenuContent>\n </DropdownMenu>\n );\n}\n\nexport function BadgeCell(props: { badges: string[], size?: number }) {\n return (\n <div className=\"flex items-center gap-1 flex-wrap\">\n {props.badges.map((badge, index) => (\n <Badge key={index} variant=\"secondary\">{badge}</Badge>\n ))}\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,yBAAmC;AACnC,mBAAmD;AACnD,eAAuL;AAwBjL;AA0EM,IAAAA,gBAAA;AAhGL,SAAS,SAAS,OAA6E;AACpG,QAAM,cAAU,qBAAuB,IAAI;AAC3C,QAAM,CAAC,eAAe,gBAAgB,QAAI,uBAAS,KAAK;AACxD,QAAM,gBAAgB;AAEtB,8BAAU,MAAM;AACd,UAAM,gBAAgB,MAAM;AAC1B,UAAI,QAAQ,SAAS;AACnB,cAAMC,iBAAgB,QAAQ,QAAQ,cAAc,QAAQ,QAAQ;AACpE,yBAAiBA,cAAa;AAAA,MAChC;AAAA,IACF;AAEA,kBAAc;AACd,WAAO,iBAAiB,UAAU,aAAa;AAC/C,WAAO,MAAM;AACX,aAAO,oBAAoB,UAAU,aAAa;AAAA,IACpD;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,SACE,4CAAC,SAAI,WAAU,YAAW,OAAO,EAAE,UAAU,MAAM,KAAK,GACtD,uDAAC,SAAI,WAAU,4CACb;AAAA,gDAAC,SAAI,WAAW,eAAe,KAAK,SACjC,0BACC,4CAAC,0BAAc,SAAS,MAAM,UAC5B,sDAAC,SAAI,WAAW,eACb,gBAAM,UACT,GACF,IACE,MAAM,UACZ;AAAA,IACC,MAAM,QAAQ,4CAAC,SAAK,gBAAM,MAAK;AAAA,KAClC,GACF;AAEJ;AAEO,SAAS,WAAW,OAA4C;AACrE,SACE,6CAAC,mBAAO,WAAU,WAChB;AAAA,gDAAC,wBAAY,KAAK,MAAM,KAAK;AAAA,IAC7B,4CAAC,2BAAgB,gBAAM,UAAS;AAAA,KAClC;AAEJ;AAEO,SAAS,SAAS,OAAkD;AACzE,QAAM,SAAS,CAAC,CAAC,MAAM,oBAAoB,IAAI,MAAK,oBAAI,KAAK,GAAE,aAAY,oBAAI,KAAK,GAAE,YAAY,IAAI,MAAM,gBAAgB,CAAC,IAAI,MAAM;AACvI,QAAM,aAAa,MAAM,KAAK,mBAAmB,CAAC,GAAG,EAAE,MAAM,WAAW,OAAO,WAAW,KAAK,WAAW,MAAM,WAAW,QAAQ,UAAU,CAAC;AAC9I,SACE,4CAAC,YAAS,MAAM,KACb,mBAAS,UAAU,YACtB;AAEJ;AAUO,SAAS,WAAW,OAGxB;AACD,SACE,6CAAC,yBACC;AAAA,gDAAC,gCAAoB,SAAO,MAC1B;AAAA,MAAC;AAAA;AAAA,QACC,SAAQ;AAAA,QACR,eAAW;AAAA,UACT;AAAA,UACA,MAAM,aAAa;AAAA,QACrB;AAAA,QAEA;AAAA,sDAAC,yCAAmB,WAAU,WAAU;AAAA,UACxC,4CAAC,UAAK,WAAU,WAAU,uBAAS;AAAA;AAAA;AAAA,IACrC,GACF;AAAA,IACA,4CAAC,gCAAoB,OAAM,OAAM,WAAU,2CACxC,gBAAM,OAAO,IAAI,CAAC,MAAM,UAAU;AACjC,UAAI,SAAS,KAAK;AAChB,eAAO,4CAAC,oCAA2B,KAAO;AAAA,MAC5C;AAEA,YAAM,gBAAgB;AAAA,QACpB,SAAS,KAAK;AAAA,QACd,eAAW,aAAG,KAAK,SAAS,qBAAqB,EAAE;AAAA,QACnD,UAAU,KAAK;AAAA,MACjB;AAEA,YAAM,WACJ,iDAAC,6BAAkB,GAAG,eAAe,KAAK,SACvC,KAAK,IACR;AAGF,UAAI,KAAK,YAAY,KAAK,iBAAiB;AACzC,eACE,4CAAC,0BAAc,SAAS,KAAK,iBAC1B,uBAAAC,QAAM,aAAa,UAAU;AAAA,UAC5B,eAAW,aAAG,cAAc,WAAW,+BAA+B;AAAA,QACxE,CAAC,KAHgD,KAInD;AAAA,MAEJ;AAEA,aAAO;AAAA,IACT,CAAC,GACH;AAAA,KACF;AAEJ;AAEO,SAAS,UAAU,OAA4C;AACpE,SACE,4CAAC,SAAI,WAAU,qCACZ,gBAAM,OAAO,IAAI,CAAC,OAAO,UACxB,4CAAC,kBAAkB,SAAQ,aAAa,mBAA5B,KAAkC,CAC/C,GACH;AAEJ;","names":["import_react","isOverflowing","React"]}
|
|
@@ -1,10 +1,65 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/components/data-table/column-header.tsx
|
|
21
|
+
var column_header_exports = {};
|
|
22
|
+
__export(column_header_exports, {
|
|
23
|
+
DataTableColumnHeader: () => DataTableColumnHeader
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(column_header_exports);
|
|
26
|
+
var import_button = require("../ui/button.js");
|
|
27
|
+
var import_dropdown_menu = require("../ui/dropdown-menu.js");
|
|
28
|
+
var import_lucide_react = require("lucide-react");
|
|
29
|
+
var import_utils = require("../../lib/utils.js");
|
|
30
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
5
31
|
function Item(props) {
|
|
6
|
-
|
|
32
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_dropdown_menu.DropdownMenuItem, { onClick: props.onClick, children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex items-center", children: [
|
|
33
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(props.icon, { className: "mr-2 h-3.5 w-3.5 text-muted-foreground/70" }),
|
|
34
|
+
props.children
|
|
35
|
+
] }) });
|
|
7
36
|
}
|
|
8
|
-
|
|
9
|
-
|
|
37
|
+
function DataTableColumnHeader({
|
|
38
|
+
column,
|
|
39
|
+
columnTitle,
|
|
40
|
+
className
|
|
41
|
+
}) {
|
|
42
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: (0, import_utils.cn)("flex items-center space-x-2", className), children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_dropdown_menu.DropdownMenu, { children: [
|
|
43
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_dropdown_menu.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
44
|
+
import_button.Button,
|
|
45
|
+
{
|
|
46
|
+
variant: "ghost",
|
|
47
|
+
size: "sm",
|
|
48
|
+
className: (0, import_utils.cn)("-ml-3 h-8 data-[state=open]:bg-accent", !column.getCanSort() && "pointer-events-none"),
|
|
49
|
+
children: [
|
|
50
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: columnTitle }),
|
|
51
|
+
column.getIsSorted() === "desc" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.ArrowDown, { className: "ml-2 h-4 w-4" }) : column.getIsSorted() === "asc" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.ArrowUp, { className: "ml-2 h-4 w-4" }) : null
|
|
52
|
+
]
|
|
53
|
+
}
|
|
54
|
+
) }),
|
|
55
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_dropdown_menu.DropdownMenuContent, { align: "start", className: "stack-scope", children: [
|
|
56
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Item, { icon: import_lucide_react.ArrowUp, onClick: () => column.toggleSorting(false), children: "Asc" }),
|
|
57
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Item, { icon: import_lucide_react.ArrowDown, onClick: () => column.toggleSorting(true), children: "Desc" })
|
|
58
|
+
] })
|
|
59
|
+
] }) });
|
|
10
60
|
}
|
|
61
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
62
|
+
0 && (module.exports = {
|
|
63
|
+
DataTableColumnHeader
|
|
64
|
+
});
|
|
65
|
+
//# sourceMappingURL=column-header.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/data-table/column-header.tsx"],"sourcesContent":["import { Button } from \"../ui/button\";\nimport { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from \"../ui/dropdown-menu\";\nimport { Column } from \"@tanstack/react-table\";\nimport { ArrowDown, ArrowUp, LucideIcon } from \"lucide-react\";\nimport { cn } from \"../../lib/utils\";\n\ntype DataTableColumnHeaderProps<TData, TValue> = {\n column: Column<TData, TValue>,\n columnTitle: React.ReactNode,\n} & React.HTMLAttributes<HTMLDivElement>\n\nfunction Item(props: { icon: LucideIcon, onClick: () => void, children: React.ReactNode }) {\n return (\n <DropdownMenuItem onClick={props.onClick}>\n <div className=\"flex items-center\">\n <props.icon className=\"mr-2 h-3.5 w-3.5 text-muted-foreground/70\" />\n {props.children}\n </div>\n </DropdownMenuItem>\n );\n}\n\nexport function DataTableColumnHeader<TData, TValue>({\n column,\n columnTitle,\n className,\n}: DataTableColumnHeaderProps<TData, TValue>) {\n return (\n <div className={cn(\"flex items-center space-x-2\", className)}>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button\n variant=\"ghost\"\n size=\"sm\"\n className={cn(\"-ml-3 h-8 data-[state=open]:bg-accent\", !column.getCanSort() && \"pointer-events-none\")}\n >\n <span>{columnTitle}</span>\n {column.getIsSorted() === \"desc\" ? (\n <ArrowDown className=\"ml-2 h-4 w-4\" />\n ) : column.getIsSorted() === \"asc\" ? (\n <ArrowUp className=\"ml-2 h-4 w-4\" />\n ) : null}\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"start\" className=\"stack-scope\">\n <Item icon={ArrowUp} onClick={() => column.toggleSorting(false)}>Asc</Item>\n <Item icon={ArrowDown} onClick={() => column.toggleSorting(true)}>Desc</Item>\n </DropdownMenuContent>\n </DropdownMenu>\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAuB;AACvB,2BAAyF;AAEzF,0BAA+C;AAC/C,mBAAmB;AAUb;AAHN,SAAS,KAAK,OAA6E;AACzF,SACE,4CAAC,yCAAiB,SAAS,MAAM,SAC/B,uDAAC,SAAI,WAAU,qBACb;AAAA,gDAAC,MAAM,MAAN,EAAW,WAAU,6CAA4C;AAAA,IACjE,MAAM;AAAA,KACT,GACF;AAEJ;AAEO,SAAS,sBAAqC;AAAA,EACnD;AAAA,EACA;AAAA,EACA;AACF,GAA8C;AAC5C,SACE,4CAAC,SAAI,eAAW,iBAAG,+BAA+B,SAAS,GACzD,uDAAC,qCACC;AAAA,gDAAC,4CAAoB,SAAO,MAC1B;AAAA,MAAC;AAAA;AAAA,QACC,SAAQ;AAAA,QACR,MAAK;AAAA,QACL,eAAW,iBAAG,yCAAyC,CAAC,OAAO,WAAW,KAAK,qBAAqB;AAAA,QAEpG;AAAA,sDAAC,UAAM,uBAAY;AAAA,UAClB,OAAO,YAAY,MAAM,SACxB,4CAAC,iCAAU,WAAU,gBAAe,IAClC,OAAO,YAAY,MAAM,QAC3B,4CAAC,+BAAQ,WAAU,gBAAe,IAChC;AAAA;AAAA;AAAA,IACN,GACF;AAAA,IACA,6CAAC,4CAAoB,OAAM,SAAQ,WAAU,eAC3C;AAAA,kDAAC,QAAK,MAAM,6BAAS,SAAS,MAAM,OAAO,cAAc,KAAK,GAAG,iBAAG;AAAA,MACpE,4CAAC,QAAK,MAAM,+BAAW,SAAS,MAAM,OAAO,cAAc,IAAI,GAAG,kBAAI;AAAA,OACxE;AAAA,KACF,GACF;AAEJ;","names":[]}
|