@stackframe/stack-ui 2.8.61 → 2.8.63
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,131 +1,166 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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;
|
|
11
21
|
};
|
|
12
|
-
|
|
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/ui/use-toast.tsx
|
|
33
|
+
var use_toast_exports = {};
|
|
34
|
+
__export(use_toast_exports, {
|
|
35
|
+
reducer: () => reducer,
|
|
36
|
+
toast: () => toast,
|
|
37
|
+
useToast: () => useToast
|
|
38
|
+
});
|
|
39
|
+
module.exports = __toCommonJS(use_toast_exports);
|
|
40
|
+
var import_react = __toESM(require("react"));
|
|
41
|
+
var TOAST_LIMIT = 1;
|
|
42
|
+
var TOAST_REMOVE_DELAY = 1e6;
|
|
43
|
+
var count = 0;
|
|
13
44
|
function genId() {
|
|
14
|
-
|
|
15
|
-
|
|
45
|
+
count = (count + 1) % Number.MAX_SAFE_INTEGER;
|
|
46
|
+
return count.toString();
|
|
16
47
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
48
|
+
var toastTimeouts = /* @__PURE__ */ new Map();
|
|
49
|
+
var addToRemoveQueue = (toastId) => {
|
|
50
|
+
if (toastTimeouts.has(toastId)) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
const timeout = setTimeout(() => {
|
|
54
|
+
toastTimeouts.delete(toastId);
|
|
55
|
+
dispatch({
|
|
56
|
+
type: "REMOVE_TOAST",
|
|
57
|
+
toastId
|
|
58
|
+
});
|
|
59
|
+
}, TOAST_REMOVE_DELAY);
|
|
60
|
+
toastTimeouts.set(toastId, timeout);
|
|
61
|
+
};
|
|
62
|
+
var reducer = (state, action) => {
|
|
63
|
+
switch (action.type) {
|
|
64
|
+
case "ADD_TOAST": {
|
|
65
|
+
return {
|
|
66
|
+
...state,
|
|
67
|
+
toasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT)
|
|
68
|
+
};
|
|
21
69
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
70
|
+
case "UPDATE_TOAST": {
|
|
71
|
+
return {
|
|
72
|
+
...state,
|
|
73
|
+
toasts: state.toasts.map(
|
|
74
|
+
(t) => t.id === action.toast.id ? { ...t, ...action.toast } : t
|
|
75
|
+
)
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
case "DISMISS_TOAST": {
|
|
79
|
+
const { toastId } = action;
|
|
80
|
+
if (toastId) {
|
|
81
|
+
addToRemoveQueue(toastId);
|
|
82
|
+
} else {
|
|
83
|
+
state.toasts.forEach((toast2) => {
|
|
84
|
+
addToRemoveQueue(toast2.id);
|
|
27
85
|
});
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
}
|
|
39
|
-
case "UPDATE_TOAST": {
|
|
40
|
-
return {
|
|
41
|
-
...state,
|
|
42
|
-
toasts: state.toasts.map((t) => t.id === action.toast.id ? { ...t, ...action.toast } : t),
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
case "DISMISS_TOAST": {
|
|
46
|
-
const { toastId } = action;
|
|
47
|
-
// ! Side effects ! - This could be extracted into a dismissToast() action,
|
|
48
|
-
// but I'll keep it here for simplicity
|
|
49
|
-
if (toastId) {
|
|
50
|
-
addToRemoveQueue(toastId);
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
state.toasts.forEach((toast) => {
|
|
54
|
-
addToRemoveQueue(toast.id);
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
return {
|
|
58
|
-
...state,
|
|
59
|
-
toasts: state.toasts.map((t) => t.id === toastId || toastId === undefined
|
|
60
|
-
? {
|
|
61
|
-
...t,
|
|
62
|
-
open: false,
|
|
63
|
-
}
|
|
64
|
-
: t),
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
case "REMOVE_TOAST": {
|
|
68
|
-
if (action.toastId === undefined) {
|
|
69
|
-
return {
|
|
70
|
-
...state,
|
|
71
|
-
toasts: [],
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
|
-
return {
|
|
75
|
-
...state,
|
|
76
|
-
toasts: state.toasts.filter((t) => t.id !== action.toastId),
|
|
77
|
-
};
|
|
78
|
-
}
|
|
86
|
+
}
|
|
87
|
+
return {
|
|
88
|
+
...state,
|
|
89
|
+
toasts: state.toasts.map(
|
|
90
|
+
(t) => t.id === toastId || toastId === void 0 ? {
|
|
91
|
+
...t,
|
|
92
|
+
open: false
|
|
93
|
+
} : t
|
|
94
|
+
)
|
|
95
|
+
};
|
|
79
96
|
}
|
|
97
|
+
case "REMOVE_TOAST": {
|
|
98
|
+
if (action.toastId === void 0) {
|
|
99
|
+
return {
|
|
100
|
+
...state,
|
|
101
|
+
toasts: []
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
return {
|
|
105
|
+
...state,
|
|
106
|
+
toasts: state.toasts.filter((t) => t.id !== action.toastId)
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
}
|
|
80
110
|
};
|
|
81
|
-
|
|
82
|
-
|
|
111
|
+
var listeners = [];
|
|
112
|
+
var memoryState = { toasts: [] };
|
|
83
113
|
function dispatch(action) {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
114
|
+
memoryState = reducer(memoryState, action);
|
|
115
|
+
listeners.forEach((listener) => {
|
|
116
|
+
listener(memoryState);
|
|
117
|
+
});
|
|
88
118
|
}
|
|
89
119
|
function toast({ ...props }) {
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
};
|
|
120
|
+
const id = genId();
|
|
121
|
+
const update = (props2) => dispatch({
|
|
122
|
+
type: "UPDATE_TOAST",
|
|
123
|
+
toast: { ...props2, id }
|
|
124
|
+
});
|
|
125
|
+
const dismiss = () => dispatch({ type: "DISMISS_TOAST", toastId: id });
|
|
126
|
+
dispatch({
|
|
127
|
+
type: "ADD_TOAST",
|
|
128
|
+
toast: {
|
|
129
|
+
...props,
|
|
130
|
+
id,
|
|
131
|
+
open: true,
|
|
132
|
+
onOpenChange: (open) => {
|
|
133
|
+
if (!open) dismiss();
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
return {
|
|
138
|
+
id,
|
|
139
|
+
dismiss,
|
|
140
|
+
update
|
|
141
|
+
};
|
|
113
142
|
}
|
|
114
143
|
function useToast() {
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
};
|
|
124
|
-
}, [state]);
|
|
125
|
-
return {
|
|
126
|
-
...state,
|
|
127
|
-
toast,
|
|
128
|
-
dismiss: (toastId) => dispatch({ type: "DISMISS_TOAST", toastId }),
|
|
144
|
+
const [state, setState] = import_react.default.useState(memoryState);
|
|
145
|
+
import_react.default.useEffect(() => {
|
|
146
|
+
listeners.push(setState);
|
|
147
|
+
return () => {
|
|
148
|
+
const index = listeners.indexOf(setState);
|
|
149
|
+
if (index > -1) {
|
|
150
|
+
listeners.splice(index, 1);
|
|
151
|
+
}
|
|
129
152
|
};
|
|
153
|
+
}, [state]);
|
|
154
|
+
return {
|
|
155
|
+
...state,
|
|
156
|
+
toast,
|
|
157
|
+
dismiss: (toastId) => dispatch({ type: "DISMISS_TOAST", toastId })
|
|
158
|
+
};
|
|
130
159
|
}
|
|
131
|
-
export
|
|
160
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
161
|
+
0 && (module.exports = {
|
|
162
|
+
reducer,
|
|
163
|
+
toast,
|
|
164
|
+
useToast
|
|
165
|
+
});
|
|
166
|
+
//# sourceMappingURL=use-toast.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/ui/use-toast.tsx"],"sourcesContent":["\"use client\";\n\n// Inspired by react-hot-toast library\nimport React from \"react\";\n\nimport type {\n ToastActionElement,\n ToastProps,\n} from \"./toast\";\n\nconst TOAST_LIMIT = 1;\nconst TOAST_REMOVE_DELAY = 1000000;\n\ntype ToasterToast = ToastProps & {\n id: string,\n title?: React.ReactNode,\n description?: React.ReactNode,\n action?: ToastActionElement,\n}\n\nconst actionTypes = {\n ADD_TOAST: \"ADD_TOAST\",\n UPDATE_TOAST: \"UPDATE_TOAST\",\n DISMISS_TOAST: \"DISMISS_TOAST\",\n REMOVE_TOAST: \"REMOVE_TOAST\",\n} as const;\n\nlet count = 0;\n\nfunction genId() {\n count = (count + 1) % Number.MAX_SAFE_INTEGER;\n return count.toString();\n}\n\ntype ActionType = typeof actionTypes\n\ntype Action =\n | {\n type: ActionType[\"ADD_TOAST\"],\n toast: ToasterToast,\n }\n | {\n type: ActionType[\"UPDATE_TOAST\"],\n toast: Partial<ToasterToast>,\n }\n | {\n type: ActionType[\"DISMISS_TOAST\"],\n toastId?: ToasterToast[\"id\"],\n }\n | {\n type: ActionType[\"REMOVE_TOAST\"],\n toastId?: ToasterToast[\"id\"],\n }\n\ntype State = {\n toasts: ToasterToast[],\n}\n\nconst toastTimeouts = new Map<string, ReturnType<typeof setTimeout>>();\n\nconst addToRemoveQueue = (toastId: string) => {\n if (toastTimeouts.has(toastId)) {\n return;\n }\n\n const timeout = setTimeout(() => {\n toastTimeouts.delete(toastId);\n dispatch({\n type: \"REMOVE_TOAST\",\n toastId: toastId,\n });\n }, TOAST_REMOVE_DELAY);\n\n toastTimeouts.set(toastId, timeout);\n};\n\nexport const reducer = (state: State, action: Action): State => {\n switch (action.type) {\n case \"ADD_TOAST\": {\n return {\n ...state,\n toasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT),\n };\n }\n case \"UPDATE_TOAST\": {\n return {\n ...state,\n toasts: state.toasts.map((t) =>\n t.id === action.toast.id ? { ...t, ...action.toast } : t\n ),\n };\n }\n case \"DISMISS_TOAST\": {\n const { toastId } = action;\n\n // ! Side effects ! - This could be extracted into a dismissToast() action,\n // but I'll keep it here for simplicity\n if (toastId) {\n addToRemoveQueue(toastId);\n } else {\n state.toasts.forEach((toast) => {\n addToRemoveQueue(toast.id);\n });\n }\n\n return {\n ...state,\n toasts: state.toasts.map((t) =>\n t.id === toastId || toastId === undefined\n ? {\n ...t,\n open: false,\n }\n : t\n ),\n };\n }\n case \"REMOVE_TOAST\": {\n if (action.toastId === undefined) {\n return {\n ...state,\n toasts: [],\n };\n }\n return {\n ...state,\n toasts: state.toasts.filter((t) => t.id !== action.toastId),\n };\n }\n }\n};\n\nconst listeners: Array<(state: State) => void> = [];\n\nlet memoryState: State = { toasts: [] };\n\nfunction dispatch(action: Action) {\n memoryState = reducer(memoryState, action);\n listeners.forEach((listener) => {\n listener(memoryState);\n });\n}\n\ntype Toast = Omit<ToasterToast, \"id\">\n\nfunction toast({ ...props }: Toast) {\n const id = genId();\n\n const update = (props: ToasterToast) =>\n dispatch({\n type: \"UPDATE_TOAST\",\n toast: { ...props, id },\n });\n const dismiss = () => dispatch({ type: \"DISMISS_TOAST\", toastId: id });\n\n dispatch({\n type: \"ADD_TOAST\",\n toast: {\n ...props,\n id,\n open: true,\n onOpenChange: (open) => {\n if (!open) dismiss();\n },\n },\n });\n\n return {\n id: id,\n dismiss,\n update,\n };\n}\n\nfunction useToast() {\n const [state, setState] = React.useState<State>(memoryState);\n\n React.useEffect(() => {\n listeners.push(setState);\n return () => {\n const index = listeners.indexOf(setState);\n if (index > -1) {\n listeners.splice(index, 1);\n }\n };\n }, [state]);\n\n return {\n ...state,\n toast,\n dismiss: (toastId?: string) => dispatch({ type: \"DISMISS_TOAST\", toastId }),\n };\n}\n\nexport { useToast, toast };\n"],"mappings":"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","names":["toast","props","React"]}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
"use client";
|
|
3
|
+
|
|
4
|
+
// src/components/action-dialog.tsx
|
|
5
|
+
import { CircleAlert, Info } from "lucide-react";
|
|
6
|
+
import React, { Suspense, useId } from "react";
|
|
7
|
+
import { Alert, Button, Checkbox, Dialog, DialogBody, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, Label, Skeleton } from "../index.js";
|
|
8
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
9
|
+
function ActionDialog(props) {
|
|
10
|
+
const okButton = props.okButton === true ? {} : props.okButton;
|
|
11
|
+
const cancelButton = props.cancelButton === true ? {} : props.cancelButton;
|
|
12
|
+
const anyButton = !!(okButton || cancelButton);
|
|
13
|
+
const title = props.title === true ? props.cancelButton ? "Confirmation" : "Alert" : props.title;
|
|
14
|
+
const TitleIcon = props.titleIcon || (props.danger ? CircleAlert : Info);
|
|
15
|
+
const [openState, setOpenState] = React.useState(!!props.open);
|
|
16
|
+
const open = props.open ?? openState;
|
|
17
|
+
const [confirmed, setConfirmed] = React.useState(false);
|
|
18
|
+
const confirmId = useId();
|
|
19
|
+
const [invalidationCount, setInvalidationCount] = React.useState(0);
|
|
20
|
+
const onOpenChange = (open2) => {
|
|
21
|
+
if (!open2) {
|
|
22
|
+
props.onClose?.();
|
|
23
|
+
setConfirmed(false);
|
|
24
|
+
} else {
|
|
25
|
+
setInvalidationCount(invalidationCount + 1);
|
|
26
|
+
}
|
|
27
|
+
setOpenState(open2);
|
|
28
|
+
props.onOpenChange?.(open2);
|
|
29
|
+
};
|
|
30
|
+
return /* @__PURE__ */ jsxs(Dialog, { open, onOpenChange, children: [
|
|
31
|
+
props.trigger && /* @__PURE__ */ jsx(DialogTrigger, { asChild: true, children: props.trigger }),
|
|
32
|
+
/* @__PURE__ */ jsxs(
|
|
33
|
+
DialogContent,
|
|
34
|
+
{
|
|
35
|
+
onInteractOutside: props.preventClose ? (e) => e.preventDefault() : void 0,
|
|
36
|
+
className: props.preventClose ? "[&>button]:hidden" : "",
|
|
37
|
+
children: [
|
|
38
|
+
/* @__PURE__ */ jsxs(DialogHeader, { children: [
|
|
39
|
+
/* @__PURE__ */ jsxs(DialogTitle, { className: "flex items-center", children: [
|
|
40
|
+
/* @__PURE__ */ jsx(TitleIcon, { className: "h-4 w-4 mr-2" }),
|
|
41
|
+
title
|
|
42
|
+
] }),
|
|
43
|
+
/* @__PURE__ */ jsx(DialogDescription, { children: props.description })
|
|
44
|
+
] }),
|
|
45
|
+
/* @__PURE__ */ jsxs(DialogBody, { className: "pb-2", children: [
|
|
46
|
+
/* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(Suspense, { fallback: /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
47
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-9 w-2/3 self-center" }),
|
|
48
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-3 w-16 mt-8" }),
|
|
49
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-9 w-full mt-1" }),
|
|
50
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-3 w-24 mt-2" }),
|
|
51
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-9 w-full mt-1" }),
|
|
52
|
+
/* @__PURE__ */ jsx(Skeleton, { className: "h-9 w-full mt-6" })
|
|
53
|
+
] }), children: props.children }) }),
|
|
54
|
+
props.confirmText && /* @__PURE__ */ jsx(Alert, { children: /* @__PURE__ */ jsxs(Label, { className: "flex gap-4 items-center", children: [
|
|
55
|
+
/* @__PURE__ */ jsx(Checkbox, { id: confirmId, checked: confirmed, onCheckedChange: (v) => setConfirmed(!!v) }),
|
|
56
|
+
props.confirmText
|
|
57
|
+
] }) })
|
|
58
|
+
] }),
|
|
59
|
+
anyButton && /* @__PURE__ */ jsxs(DialogFooter, { className: "gap-2", children: [
|
|
60
|
+
cancelButton && /* @__PURE__ */ jsx(
|
|
61
|
+
Button,
|
|
62
|
+
{
|
|
63
|
+
variant: "secondary",
|
|
64
|
+
color: "neutral",
|
|
65
|
+
onClick: async () => {
|
|
66
|
+
if (await cancelButton.onClick?.() !== "prevent-close") {
|
|
67
|
+
onOpenChange(false);
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
...cancelButton.props,
|
|
71
|
+
children: cancelButton.label ?? "Cancel"
|
|
72
|
+
}
|
|
73
|
+
),
|
|
74
|
+
okButton && /* @__PURE__ */ jsx(
|
|
75
|
+
Button,
|
|
76
|
+
{
|
|
77
|
+
disabled: !!props.confirmText && !confirmed,
|
|
78
|
+
variant: props.danger ? "destructive" : "default",
|
|
79
|
+
onClick: async () => {
|
|
80
|
+
if (await okButton.onClick?.() !== "prevent-close") {
|
|
81
|
+
onOpenChange(false);
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
...okButton.props,
|
|
85
|
+
children: okButton.label ?? "OK"
|
|
86
|
+
}
|
|
87
|
+
)
|
|
88
|
+
] })
|
|
89
|
+
]
|
|
90
|
+
}
|
|
91
|
+
)
|
|
92
|
+
] }, invalidationCount);
|
|
93
|
+
}
|
|
94
|
+
export {
|
|
95
|
+
ActionDialog
|
|
96
|
+
};
|
|
97
|
+
//# sourceMappingURL=action-dialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/action-dialog.tsx"],"sourcesContent":["'use client';\n\nimport { CircleAlert, Info, LucideIcon } from \"lucide-react\";\nimport React, { Suspense, useId } from \"react\";\nimport { Alert, Button, Checkbox, Dialog, DialogBody, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, Label, Skeleton } from '..';\n\nexport type ActionDialogProps = {\n trigger?: React.ReactNode,\n open?: boolean,\n onClose?: () => void,\n onOpenChange?: (open: boolean) => void,\n titleIcon?: LucideIcon,\n title: boolean | React.ReactNode,\n description?: React.ReactNode,\n danger?: boolean,\n okButton?: boolean | Readonly<{\n label?: string,\n onClick?: () => Promise<\"prevent-close\" | undefined | void>,\n props?: Partial<React.ComponentProps<typeof Button>>,\n }>,\n cancelButton?: boolean | Readonly<{\n label?: string,\n onClick?: () => Promise<\"prevent-close\" | undefined | void>,\n props?: Partial<React.ComponentProps<typeof Button>>,\n }>,\n confirmText?: string,\n children?: React.ReactNode,\n preventClose?: boolean,\n};\n\nexport function ActionDialog(props: ActionDialogProps) {\n const okButton = props.okButton === true ? {} : props.okButton;\n const cancelButton = props.cancelButton === true ? {} : props.cancelButton;\n const anyButton = !!(okButton || cancelButton);\n const title = props.title === true ? (props.cancelButton ? \"Confirmation\" : \"Alert\") : props.title;\n const TitleIcon = props.titleIcon || (props.danger ? CircleAlert : Info);\n const [openState, setOpenState] = React.useState(!!props.open);\n const open = props.open ?? openState;\n const [confirmed, setConfirmed] = React.useState(false);\n const confirmId = useId();\n const [invalidationCount, setInvalidationCount] = React.useState(0);\n\n const onOpenChange = (open: boolean) => {\n if (!open) {\n props.onClose?.();\n setConfirmed(false);\n } else {\n setInvalidationCount(invalidationCount + 1);\n }\n setOpenState(open);\n props.onOpenChange?.(open);\n };\n\n return (\n <Dialog open={open} onOpenChange={onOpenChange} key={invalidationCount}>\n {props.trigger && <DialogTrigger asChild>\n {props.trigger}\n </DialogTrigger>}\n\n <DialogContent\n onInteractOutside={props.preventClose ? (e) => e.preventDefault() : undefined}\n className={props.preventClose ? \"[&>button]:hidden\" : \"\"}\n >\n <DialogHeader>\n <DialogTitle className=\"flex items-center\">\n <TitleIcon className=\"h-4 w-4 mr-2\"/>\n {title}\n </DialogTitle>\n <DialogDescription>\n {props.description}\n </DialogDescription>\n </DialogHeader>\n\n <DialogBody className=\"pb-2\">\n <div>\n <Suspense fallback={\n <>\n <Skeleton className='h-9 w-2/3 self-center' />\n\n <Skeleton className='h-3 w-16 mt-8' />\n <Skeleton className='h-9 w-full mt-1' />\n\n <Skeleton className='h-3 w-24 mt-2' />\n <Skeleton className='h-9 w-full mt-1' />\n\n <Skeleton className='h-9 w-full mt-6' />\n </>\n }>\n {props.children}\n </Suspense>\n </div>\n\n {props.confirmText && <Alert>\n <Label className=\"flex gap-4 items-center\">\n <Checkbox id={confirmId} checked={confirmed} onCheckedChange={(v) => setConfirmed(!!v)}/>\n {props.confirmText}\n </Label>\n </Alert>}\n </DialogBody>\n\n\n {anyButton && <DialogFooter className=\"gap-2\">\n {cancelButton && (\n <Button\n variant=\"secondary\"\n color=\"neutral\"\n onClick={async () => {\n if (await cancelButton.onClick?.() !== \"prevent-close\") {\n onOpenChange(false);\n }\n }}\n {...cancelButton.props}\n >\n {cancelButton.label ?? \"Cancel\"}\n </Button>\n )}\n {okButton && (\n <Button\n disabled={!!props.confirmText && !confirmed}\n variant={props.danger ? \"destructive\" : \"default\"}\n onClick={async () => {\n if (await okButton.onClick?.() !== \"prevent-close\") {\n onOpenChange(false);\n }\n }}\n {...okButton.props}\n >\n {okButton.label ?? \"OK\"}\n </Button>\n )}\n </DialogFooter>}\n </DialogContent>\n </Dialog>\n );\n}\n"],"mappings":";;;AAEA,SAAS,aAAa,YAAwB;AAC9C,OAAO,SAAS,UAAU,aAAa;AACvC,SAAS,OAAO,QAAQ,UAAU,QAAQ,YAAY,eAAe,mBAAmB,cAAc,cAAc,aAAa,eAAe,OAAO,gBAAgB;AAmD/I,SAqBV,UArBU,KASd,YATc;AAzBjB,SAAS,aAAa,OAA0B;AACrD,QAAM,WAAW,MAAM,aAAa,OAAO,CAAC,IAAI,MAAM;AACtD,QAAM,eAAe,MAAM,iBAAiB,OAAO,CAAC,IAAI,MAAM;AAC9D,QAAM,YAAY,CAAC,EAAE,YAAY;AACjC,QAAM,QAAQ,MAAM,UAAU,OAAQ,MAAM,eAAe,iBAAiB,UAAW,MAAM;AAC7F,QAAM,YAAY,MAAM,cAAc,MAAM,SAAS,cAAc;AACnE,QAAM,CAAC,WAAW,YAAY,IAAI,MAAM,SAAS,CAAC,CAAC,MAAM,IAAI;AAC7D,QAAM,OAAO,MAAM,QAAQ;AAC3B,QAAM,CAAC,WAAW,YAAY,IAAI,MAAM,SAAS,KAAK;AACtD,QAAM,YAAY,MAAM;AACxB,QAAM,CAAC,mBAAmB,oBAAoB,IAAI,MAAM,SAAS,CAAC;AAElE,QAAM,eAAe,CAACA,UAAkB;AACtC,QAAI,CAACA,OAAM;AACT,YAAM,UAAU;AAChB,mBAAa,KAAK;AAAA,IACpB,OAAO;AACL,2BAAqB,oBAAoB,CAAC;AAAA,IAC5C;AACA,iBAAaA,KAAI;AACjB,UAAM,eAAeA,KAAI;AAAA,EAC3B;AAEA,SACE,qBAAC,UAAO,MAAY,cACjB;AAAA,UAAM,WAAW,oBAAC,iBAAc,SAAO,MACrC,gBAAM,SACT;AAAA,IAEA;AAAA,MAAC;AAAA;AAAA,QACC,mBAAmB,MAAM,eAAe,CAAC,MAAM,EAAE,eAAe,IAAI;AAAA,QACpE,WAAW,MAAM,eAAe,sBAAsB;AAAA,QAEtD;AAAA,+BAAC,gBACC;AAAA,iCAAC,eAAY,WAAU,qBACrB;AAAA,kCAAC,aAAU,WAAU,gBAAc;AAAA,cAClC;AAAA,eACH;AAAA,YACA,oBAAC,qBACE,gBAAM,aACT;AAAA,aACF;AAAA,UAEA,qBAAC,cAAW,WAAU,QACpB;AAAA,gCAAC,SACC,8BAAC,YAAS,UACR,iCACE;AAAA,kCAAC,YAAS,WAAU,yBAAwB;AAAA,cAE5C,oBAAC,YAAS,WAAU,iBAAgB;AAAA,cACpC,oBAAC,YAAS,WAAU,mBAAkB;AAAA,cAEtC,oBAAC,YAAS,WAAU,iBAAgB;AAAA,cACpC,oBAAC,YAAS,WAAU,mBAAkB;AAAA,cAEtC,oBAAC,YAAS,WAAU,mBAAkB;AAAA,eACxC,GAEC,gBAAM,UACT,GACF;AAAA,YAEC,MAAM,eAAe,oBAAC,SACrB,+BAAC,SAAM,WAAU,2BACf;AAAA,kCAAC,YAAS,IAAI,WAAW,SAAS,WAAW,iBAAiB,CAAC,MAAM,aAAa,CAAC,CAAC,CAAC,GAAE;AAAA,cACtF,MAAM;AAAA,eACT,GACF;AAAA,aACF;AAAA,UAGC,aAAa,qBAAC,gBAAa,WAAU,SACnC;AAAA,4BACC;AAAA,cAAC;AAAA;AAAA,gBACC,SAAQ;AAAA,gBACR,OAAM;AAAA,gBACN,SAAS,YAAY;AACnB,sBAAI,MAAM,aAAa,UAAU,MAAM,iBAAiB;AACtD,iCAAa,KAAK;AAAA,kBACpB;AAAA,gBACF;AAAA,gBACC,GAAG,aAAa;AAAA,gBAEhB,uBAAa,SAAS;AAAA;AAAA,YACzB;AAAA,YAED,YACC;AAAA,cAAC;AAAA;AAAA,gBACC,UAAU,CAAC,CAAC,MAAM,eAAe,CAAC;AAAA,gBAClC,SAAS,MAAM,SAAS,gBAAgB;AAAA,gBACxC,SAAS,YAAY;AACnB,sBAAI,MAAM,SAAS,UAAU,MAAM,iBAAiB;AAClD,iCAAa,KAAK;AAAA,kBACpB;AAAA,gBACF;AAAA,gBACC,GAAG,SAAS;AAAA,gBAEZ,mBAAS,SAAS;AAAA;AAAA,YACrB;AAAA,aAEJ;AAAA;AAAA;AAAA,IACF;AAAA,OA7EmD,iBA8ErD;AAEJ;","names":["open"]}
|