@invergent/ui-sdk 0.0.0-stage → 2.19.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +70 -2
- package/dist/accordion.cjs +97 -0
- package/dist/accordion.cjs.map +1 -0
- package/dist/accordion.d.cts +10 -0
- package/dist/accordion.d.ts +10 -0
- package/dist/accordion.js +92 -0
- package/dist/accordion.js.map +1 -0
- package/dist/alert.cjs +82 -0
- package/dist/alert.cjs.map +1 -0
- package/dist/alert.d.cts +14 -0
- package/dist/alert.d.ts +14 -0
- package/dist/alert.js +77 -0
- package/dist/alert.js.map +1 -0
- package/dist/avatar.cjs +110 -0
- package/dist/avatar.cjs.map +1 -0
- package/dist/avatar.d.cts +14 -0
- package/dist/avatar.d.ts +14 -0
- package/dist/avatar.js +103 -0
- package/dist/avatar.js.map +1 -0
- package/dist/badge.cjs +47 -0
- package/dist/badge.cjs.map +1 -0
- package/dist/badge.d.cts +13 -0
- package/dist/badge.d.ts +13 -0
- package/dist/badge.js +44 -0
- package/dist/badge.js.map +1 -0
- package/dist/brand-beam.cjs +2303 -0
- package/dist/brand-beam.cjs.map +1 -0
- package/dist/brand-beam.d.cts +36 -0
- package/dist/brand-beam.d.ts +36 -0
- package/dist/brand-beam.js +2301 -0
- package/dist/brand-beam.js.map +1 -0
- package/dist/button-group.cjs +80 -0
- package/dist/button-group.cjs.map +1 -0
- package/dist/button-group.d.cts +17 -0
- package/dist/button-group.d.ts +17 -0
- package/dist/button-group.js +75 -0
- package/dist/button-group.js.map +1 -0
- package/dist/button.cjs +17 -0
- package/dist/button.cjs.map +1 -0
- package/dist/button.d.cts +14 -0
- package/dist/button.d.ts +14 -0
- package/dist/button.js +4 -0
- package/dist/button.js.map +1 -0
- package/dist/card.cjs +109 -0
- package/dist/card.cjs.map +1 -0
- package/dist/card.d.cts +14 -0
- package/dist/card.d.ts +14 -0
- package/dist/card.js +101 -0
- package/dist/card.js.map +1 -0
- package/dist/chart.cjs +275 -0
- package/dist/chart.cjs.map +1 -0
- package/dist/chart.d.cts +47 -0
- package/dist/chart.d.ts +47 -0
- package/dist/chart.js +247 -0
- package/dist/chart.js.map +1 -0
- package/dist/checkbox.cjs +41 -0
- package/dist/checkbox.cjs.map +1 -0
- package/dist/checkbox.d.cts +7 -0
- package/dist/checkbox.d.ts +7 -0
- package/dist/checkbox.js +39 -0
- package/dist/checkbox.js.map +1 -0
- package/dist/chip.cjs +92 -0
- package/dist/chip.cjs.map +1 -0
- package/dist/chip.d.cts +33 -0
- package/dist/chip.d.ts +33 -0
- package/dist/chip.js +86 -0
- package/dist/chip.js.map +1 -0
- package/dist/choice-card.cjs +127 -0
- package/dist/choice-card.cjs.map +1 -0
- package/dist/choice-card.d.cts +20 -0
- package/dist/choice-card.d.ts +20 -0
- package/dist/choice-card.js +124 -0
- package/dist/choice-card.js.map +1 -0
- package/dist/chunk-2UHRDVPT.cjs +183 -0
- package/dist/chunk-2UHRDVPT.cjs.map +1 -0
- package/dist/chunk-5CRE35VX.js +20 -0
- package/dist/chunk-5CRE35VX.js.map +1 -0
- package/dist/chunk-6ARYCL4L.cjs +30 -0
- package/dist/chunk-6ARYCL4L.cjs.map +1 -0
- package/dist/chunk-6JCVTRUK.js +21 -0
- package/dist/chunk-6JCVTRUK.js.map +1 -0
- package/dist/chunk-6YHDDRIM.cjs +13 -0
- package/dist/chunk-6YHDDRIM.cjs.map +1 -0
- package/dist/chunk-A44JJ6NH.js +58 -0
- package/dist/chunk-A44JJ6NH.js.map +1 -0
- package/dist/chunk-CPAFEXKR.js +63 -0
- package/dist/chunk-CPAFEXKR.js.map +1 -0
- package/dist/chunk-CTIEUG5L.js +28 -0
- package/dist/chunk-CTIEUG5L.js.map +1 -0
- package/dist/chunk-DSDDDYG3.cjs +60 -0
- package/dist/chunk-DSDDDYG3.cjs.map +1 -0
- package/dist/chunk-IB7LTHEQ.js +55 -0
- package/dist/chunk-IB7LTHEQ.js.map +1 -0
- package/dist/chunk-ID7MWMJO.cjs +162 -0
- package/dist/chunk-ID7MWMJO.cjs.map +1 -0
- package/dist/chunk-IVMZANP7.cjs +67 -0
- package/dist/chunk-IVMZANP7.cjs.map +1 -0
- package/dist/chunk-L73QIINW.js +157 -0
- package/dist/chunk-L73QIINW.js.map +1 -0
- package/dist/chunk-LZGII7SX.js +11 -0
- package/dist/chunk-LZGII7SX.js.map +1 -0
- package/dist/chunk-M677T75H.js +24 -0
- package/dist/chunk-M677T75H.js.map +1 -0
- package/dist/chunk-NSK344BJ.js +80 -0
- package/dist/chunk-NSK344BJ.js.map +1 -0
- package/dist/chunk-OAVCB3MR.cjs +26 -0
- package/dist/chunk-OAVCB3MR.cjs.map +1 -0
- package/dist/chunk-PH733KDD.js +141 -0
- package/dist/chunk-PH733KDD.js.map +1 -0
- package/dist/chunk-QEBQ5NUN.cjs +148 -0
- package/dist/chunk-QEBQ5NUN.cjs.map +1 -0
- package/dist/chunk-RVX6SN4U.cjs +23 -0
- package/dist/chunk-RVX6SN4U.cjs.map +1 -0
- package/dist/chunk-T74Z3WTK.js +151 -0
- package/dist/chunk-T74Z3WTK.js.map +1 -0
- package/dist/chunk-UOUXW63J.cjs +22 -0
- package/dist/chunk-UOUXW63J.cjs.map +1 -0
- package/dist/chunk-UXSDDJXM.cjs +88 -0
- package/dist/chunk-UXSDDJXM.cjs.map +1 -0
- package/dist/chunk-VBICNC43.cjs +61 -0
- package/dist/chunk-VBICNC43.cjs.map +1 -0
- package/dist/collapsible-header.cjs +66 -0
- package/dist/collapsible-header.cjs.map +1 -0
- package/dist/collapsible-header.d.cts +15 -0
- package/dist/collapsible-header.d.ts +15 -0
- package/dist/collapsible-header.js +63 -0
- package/dist/collapsible-header.js.map +1 -0
- package/dist/collapsible.cjs +38 -0
- package/dist/collapsible.cjs.map +1 -0
- package/dist/collapsible.d.cts +8 -0
- package/dist/collapsible.d.ts +8 -0
- package/dist/collapsible.js +34 -0
- package/dist/collapsible.js.map +1 -0
- package/dist/color-picker.cjs +60 -0
- package/dist/color-picker.cjs.map +1 -0
- package/dist/color-picker.d.cts +12 -0
- package/dist/color-picker.d.ts +12 -0
- package/dist/color-picker.js +57 -0
- package/dist/color-picker.js.map +1 -0
- package/dist/command.cjs +177 -0
- package/dist/command.cjs.map +1 -0
- package/dist/command.d.cts +22 -0
- package/dist/command.d.ts +22 -0
- package/dist/command.js +167 -0
- package/dist/command.js.map +1 -0
- package/dist/confirm-dialog.cjs +72 -0
- package/dist/confirm-dialog.cjs.map +1 -0
- package/dist/confirm-dialog.d.cts +19 -0
- package/dist/confirm-dialog.d.ts +19 -0
- package/dist/confirm-dialog.js +70 -0
- package/dist/confirm-dialog.js.map +1 -0
- package/dist/control-styles.cjs +16 -0
- package/dist/control-styles.cjs.map +1 -0
- package/dist/control-styles.d.cts +7 -0
- package/dist/control-styles.d.ts +7 -0
- package/dist/control-styles.js +10 -0
- package/dist/control-styles.js.map +1 -0
- package/dist/dialog.cjs +50 -0
- package/dist/dialog.cjs.map +1 -0
- package/dist/dialog.d.cts +20 -0
- package/dist/dialog.d.ts +20 -0
- package/dist/dialog.js +5 -0
- package/dist/dialog.js.map +1 -0
- package/dist/dropdown-menu.cjs +265 -0
- package/dist/dropdown-menu.cjs.map +1 -0
- package/dist/dropdown-menu.d.cts +32 -0
- package/dist/dropdown-menu.d.ts +32 -0
- package/dist/dropdown-menu.js +249 -0
- package/dist/dropdown-menu.js.map +1 -0
- package/dist/empty-state.cjs +50 -0
- package/dist/empty-state.cjs.map +1 -0
- package/dist/empty-state.d.cts +23 -0
- package/dist/empty-state.d.ts +23 -0
- package/dist/empty-state.js +47 -0
- package/dist/empty-state.js.map +1 -0
- package/dist/field.cjs +221 -0
- package/dist/field.cjs.map +1 -0
- package/dist/field.d.cts +30 -0
- package/dist/field.d.ts +30 -0
- package/dist/field.js +210 -0
- package/dist/field.js.map +1 -0
- package/dist/hover-card.cjs +43 -0
- package/dist/hover-card.cjs.map +1 -0
- package/dist/hover-card.d.cts +9 -0
- package/dist/hover-card.d.ts +9 -0
- package/dist/hover-card.js +39 -0
- package/dist/hover-card.js.map +1 -0
- package/dist/input-group.cjs +36 -0
- package/dist/input-group.cjs.map +1 -0
- package/dist/input-group.d.cts +20 -0
- package/dist/input-group.d.ts +20 -0
- package/dist/input-group.js +7 -0
- package/dist/input-group.js.map +1 -0
- package/dist/input.cjs +13 -0
- package/dist/input.cjs.map +1 -0
- package/dist/input.d.cts +6 -0
- package/dist/input.d.ts +6 -0
- package/dist/input.js +4 -0
- package/dist/input.js.map +1 -0
- package/dist/item.cjs +196 -0
- package/dist/item.cjs.map +1 -0
- package/dist/item.d.cts +28 -0
- package/dist/item.d.ts +28 -0
- package/dist/item.js +185 -0
- package/dist/item.js.map +1 -0
- package/dist/label.cjs +13 -0
- package/dist/label.cjs.map +1 -0
- package/dist/label.d.cts +7 -0
- package/dist/label.d.ts +7 -0
- package/dist/label.js +4 -0
- package/dist/label.js.map +1 -0
- package/dist/lib/utils.cjs +12 -0
- package/dist/lib/utils.cjs.map +1 -0
- package/dist/lib/utils.d.cts +5 -0
- package/dist/lib/utils.d.ts +5 -0
- package/dist/lib/utils.js +3 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/list-row.cjs +188 -0
- package/dist/list-row.cjs.map +1 -0
- package/dist/list-row.d.cts +51 -0
- package/dist/list-row.d.ts +51 -0
- package/dist/list-row.js +164 -0
- package/dist/list-row.js.map +1 -0
- package/dist/pill-tabs.cjs +109 -0
- package/dist/pill-tabs.cjs.map +1 -0
- package/dist/pill-tabs.d.cts +24 -0
- package/dist/pill-tabs.d.ts +24 -0
- package/dist/pill-tabs.js +107 -0
- package/dist/pill-tabs.js.map +1 -0
- package/dist/popover.cjs +37 -0
- package/dist/popover.cjs.map +1 -0
- package/dist/popover.d.cts +13 -0
- package/dist/popover.d.ts +13 -0
- package/dist/popover.js +4 -0
- package/dist/popover.js.map +1 -0
- package/dist/progress-bar.cjs +40 -0
- package/dist/progress-bar.cjs.map +1 -0
- package/dist/progress-bar.d.cts +12 -0
- package/dist/progress-bar.d.ts +12 -0
- package/dist/progress-bar.js +38 -0
- package/dist/progress-bar.js.map +1 -0
- package/dist/rabbit-mark.cjs +30 -0
- package/dist/rabbit-mark.cjs.map +1 -0
- package/dist/rabbit-mark.d.cts +16 -0
- package/dist/rabbit-mark.d.ts +16 -0
- package/dist/rabbit-mark.js +26 -0
- package/dist/rabbit-mark.js.map +1 -0
- package/dist/responsive-panel.cjs +85 -0
- package/dist/responsive-panel.cjs.map +1 -0
- package/dist/responsive-panel.d.cts +33 -0
- package/dist/responsive-panel.d.ts +33 -0
- package/dist/responsive-panel.js +83 -0
- package/dist/responsive-panel.js.map +1 -0
- package/dist/scroll-area.cjs +63 -0
- package/dist/scroll-area.cjs.map +1 -0
- package/dist/scroll-area.d.cts +8 -0
- package/dist/scroll-area.d.ts +8 -0
- package/dist/scroll-area.js +60 -0
- package/dist/scroll-area.js.map +1 -0
- package/dist/section-label.cjs +30 -0
- package/dist/section-label.cjs.map +1 -0
- package/dist/section-label.d.cts +13 -0
- package/dist/section-label.d.ts +13 -0
- package/dist/section-label.js +28 -0
- package/dist/section-label.js.map +1 -0
- package/dist/segmented-control.cjs +75 -0
- package/dist/segmented-control.cjs.map +1 -0
- package/dist/segmented-control.d.cts +26 -0
- package/dist/segmented-control.d.ts +26 -0
- package/dist/segmented-control.js +53 -0
- package/dist/segmented-control.js.map +1 -0
- package/dist/select.cjs +193 -0
- package/dist/select.cjs.map +1 -0
- package/dist/select.d.cts +18 -0
- package/dist/select.d.ts +18 -0
- package/dist/select.js +182 -0
- package/dist/select.js.map +1 -0
- package/dist/separator.cjs +13 -0
- package/dist/separator.cjs.map +1 -0
- package/dist/separator.d.cts +7 -0
- package/dist/separator.d.ts +7 -0
- package/dist/separator.js +4 -0
- package/dist/separator.js.map +1 -0
- package/dist/sidebar.cjs +29 -0
- package/dist/sidebar.cjs.map +1 -0
- package/dist/sidebar.d.cts +58 -0
- package/dist/sidebar.d.ts +58 -0
- package/dist/sidebar.js +4 -0
- package/dist/sidebar.js.map +1 -0
- package/dist/skeleton.cjs +19 -0
- package/dist/skeleton.cjs.map +1 -0
- package/dist/skeleton.d.cts +5 -0
- package/dist/skeleton.d.ts +5 -0
- package/dist/skeleton.js +17 -0
- package/dist/skeleton.js.map +1 -0
- package/dist/sonner.cjs +40 -0
- package/dist/sonner.cjs.map +1 -0
- package/dist/sonner.d.cts +6 -0
- package/dist/sonner.d.ts +6 -0
- package/dist/sonner.js +38 -0
- package/dist/sonner.js.map +1 -0
- package/dist/sparkline.cjs +44 -0
- package/dist/sparkline.cjs.map +1 -0
- package/dist/sparkline.d.cts +12 -0
- package/dist/sparkline.d.ts +12 -0
- package/dist/sparkline.js +42 -0
- package/dist/sparkline.js.map +1 -0
- package/dist/spinner.cjs +13 -0
- package/dist/spinner.cjs.map +1 -0
- package/dist/spinner.d.cts +5 -0
- package/dist/spinner.d.ts +5 -0
- package/dist/spinner.js +11 -0
- package/dist/spinner.js.map +1 -0
- package/dist/stat-card.cjs +65 -0
- package/dist/stat-card.cjs.map +1 -0
- package/dist/stat-card.d.cts +22 -0
- package/dist/stat-card.d.ts +22 -0
- package/dist/stat-card.js +61 -0
- package/dist/stat-card.js.map +1 -0
- package/dist/status-dot.cjs +32 -0
- package/dist/status-dot.cjs.map +1 -0
- package/dist/status-dot.d.cts +11 -0
- package/dist/status-dot.d.ts +11 -0
- package/dist/status-dot.js +29 -0
- package/dist/status-dot.js.map +1 -0
- package/dist/switch.cjs +38 -0
- package/dist/switch.cjs.map +1 -0
- package/dist/switch.d.cts +9 -0
- package/dist/switch.d.ts +9 -0
- package/dist/switch.js +36 -0
- package/dist/switch.js.map +1 -0
- package/dist/table.cjs +118 -0
- package/dist/table.cjs.map +1 -0
- package/dist/table.d.cts +13 -0
- package/dist/table.d.ts +13 -0
- package/dist/table.js +109 -0
- package/dist/table.js.map +1 -0
- package/dist/tabs.cjs +124 -0
- package/dist/tabs.cjs.map +1 -0
- package/dist/tabs.d.cts +15 -0
- package/dist/tabs.d.ts +15 -0
- package/dist/tabs.js +118 -0
- package/dist/tabs.js.map +1 -0
- package/dist/text-link.cjs +51 -0
- package/dist/text-link.cjs.map +1 -0
- package/dist/text-link.d.cts +15 -0
- package/dist/text-link.d.ts +15 -0
- package/dist/text-link.js +48 -0
- package/dist/text-link.js.map +1 -0
- package/dist/textarea.cjs +13 -0
- package/dist/textarea.cjs.map +1 -0
- package/dist/textarea.d.cts +6 -0
- package/dist/textarea.d.ts +6 -0
- package/dist/textarea.js +4 -0
- package/dist/textarea.js.map +1 -0
- package/dist/theme.css +109 -0
- package/dist/timeline.cjs +171 -0
- package/dist/timeline.cjs.map +1 -0
- package/dist/timeline.d.cts +28 -0
- package/dist/timeline.d.ts +28 -0
- package/dist/timeline.js +162 -0
- package/dist/timeline.js.map +1 -0
- package/dist/toggle-group.cjs +155 -0
- package/dist/toggle-group.cjs.map +1 -0
- package/dist/toggle-group.d.cts +31 -0
- package/dist/toggle-group.d.ts +31 -0
- package/dist/toggle-group.js +130 -0
- package/dist/toggle-group.js.map +1 -0
- package/dist/toggle.cjs +21 -0
- package/dist/toggle.cjs.map +1 -0
- package/dist/toggle.d.cts +23 -0
- package/dist/toggle.d.ts +23 -0
- package/dist/toggle.js +4 -0
- package/dist/toggle.js.map +1 -0
- package/dist/tokens.css +77 -0
- package/dist/tooltip.cjs +25 -0
- package/dist/tooltip.cjs.map +1 -0
- package/dist/tooltip.d.cts +10 -0
- package/dist/tooltip.d.ts +10 -0
- package/dist/tooltip.js +4 -0
- package/dist/tooltip.js.map +1 -0
- package/package.json +61 -4
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunk6YHDDRIM_cjs = require('./chunk-6YHDDRIM.cjs');
|
|
4
|
+
var radixUi = require('radix-ui');
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
|
|
7
|
+
function TooltipProvider({
|
|
8
|
+
delayDuration = 0,
|
|
9
|
+
...props
|
|
10
|
+
}) {
|
|
11
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
12
|
+
radixUi.Tooltip.Provider,
|
|
13
|
+
{
|
|
14
|
+
"data-slot": "tooltip-provider",
|
|
15
|
+
delayDuration,
|
|
16
|
+
...props
|
|
17
|
+
}
|
|
18
|
+
);
|
|
19
|
+
}
|
|
20
|
+
function Tooltip({
|
|
21
|
+
...props
|
|
22
|
+
}) {
|
|
23
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Tooltip.Root, { "data-slot": "tooltip", ...props });
|
|
24
|
+
}
|
|
25
|
+
function TooltipTrigger({
|
|
26
|
+
...props
|
|
27
|
+
}) {
|
|
28
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Tooltip.Trigger, { "data-slot": "tooltip-trigger", ...props });
|
|
29
|
+
}
|
|
30
|
+
function TooltipContent({
|
|
31
|
+
className,
|
|
32
|
+
sideOffset = 0,
|
|
33
|
+
children,
|
|
34
|
+
...props
|
|
35
|
+
}) {
|
|
36
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Tooltip.Portal, { children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
37
|
+
radixUi.Tooltip.Content,
|
|
38
|
+
{
|
|
39
|
+
"data-slot": "tooltip-content",
|
|
40
|
+
sideOffset,
|
|
41
|
+
className: chunk6YHDDRIM_cjs.cn(
|
|
42
|
+
// Work sets its tooltips at 12px, relaxed, in a rounded box.
|
|
43
|
+
"z-50 inline-flex w-fit max-w-xs origin-(--radix-tooltip-content-transform-origin) items-center gap-1.5 rounded-[6px] bg-foreground px-2.5 py-1.5 text-[12px] leading-relaxed text-background has-data-[slot=kbd]:pr-1.5 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 **:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-50 **:data-[slot=kbd]:rounded-[4px] data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
|
|
44
|
+
className
|
|
45
|
+
),
|
|
46
|
+
...props,
|
|
47
|
+
children: [
|
|
48
|
+
children,
|
|
49
|
+
/* @__PURE__ */ jsxRuntime.jsx(radixUi.Tooltip.Arrow, { className: "z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground" })
|
|
50
|
+
]
|
|
51
|
+
}
|
|
52
|
+
) });
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
exports.Tooltip = Tooltip;
|
|
56
|
+
exports.TooltipContent = TooltipContent;
|
|
57
|
+
exports.TooltipProvider = TooltipProvider;
|
|
58
|
+
exports.TooltipTrigger = TooltipTrigger;
|
|
59
|
+
//# sourceMappingURL=chunk-DSDDDYG3.cjs.map
|
|
60
|
+
//# sourceMappingURL=chunk-DSDDDYG3.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/tooltip.tsx"],"names":["jsx","TooltipPrimitive","jsxs","cn"],"mappings":";;;;;;AAOA,SAAS,eAAA,CAAgB;AAAA,EACvB,aAAA,GAAgB,CAAA;AAAA,EAChB,GAAG;AACL,CAAA,EAA2D;AACzD,EAAA,uBACEA,cAAA;AAAA,IAACC,eAAA,CAAiB,QAAA;AAAA,IAAjB;AAAA,MACC,WAAA,EAAU,kBAAA;AAAA,MACV,aAAA;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,OAAA,CAAQ;AAAA,EACf,GAAG;AACL,CAAA,EAAuD;AACrD,EAAA,sCAAQA,eAAA,CAAiB,IAAA,EAAjB,EAAsB,WAAA,EAAU,SAAA,EAAW,GAAG,KAAA,EAAO,CAAA;AAC/D;AAEA,SAAS,cAAA,CAAe;AAAA,EACtB,GAAG;AACL,CAAA,EAA0D;AACxD,EAAA,sCAAQA,eAAA,CAAiB,OAAA,EAAjB,EAAyB,WAAA,EAAU,iBAAA,EAAmB,GAAG,KAAA,EAAO,CAAA;AAC1E;AAEA,SAAS,cAAA,CAAe;AAAA,EACtB,SAAA;AAAA,EACA,UAAA,GAAa,CAAA;AAAA,EACb,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA0D;AACxD,EAAA,uBACED,cAAA,CAACC,eAAA,CAAiB,MAAA,EAAjB,EACC,QAAA,kBAAAC,eAAA;AAAA,IAACD,eAAA,CAAiB,OAAA;AAAA,IAAjB;AAAA,MACC,WAAA,EAAU,iBAAA;AAAA,MACV,UAAA;AAAA,MACA,SAAA,EAAWE,oBAAA;AAAA;AAAA,QAET,wtBAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAA,QAAA;AAAA,wBACDH,cAAA,CAACC,eAAA,CAAiB,KAAA,EAAjB,EAAuB,WAAU,oGAAA,EAAqG;AAAA;AAAA;AAAA,GACzI,EACF,CAAA;AAEJ","file":"chunk-DSDDDYG3.cjs","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport { Tooltip as TooltipPrimitive } from \"radix-ui\"\n\nimport { cn } from \"./lib/utils\"\n\nfunction TooltipProvider({\n delayDuration = 0,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\n return (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delayDuration={delayDuration}\n {...props}\n />\n )\n}\n\nfunction Tooltip({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Root>) {\n return <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\n}\n\nfunction TooltipTrigger({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />\n}\n\nfunction TooltipContent({\n className,\n sideOffset = 0,\n children,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Content>) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n data-slot=\"tooltip-content\"\n sideOffset={sideOffset}\n className={cn(\n // Work sets its tooltips at 12px, relaxed, in a rounded box.\n \"z-50 inline-flex w-fit max-w-xs origin-(--radix-tooltip-content-transform-origin) items-center gap-1.5 rounded-[6px] bg-foreground px-2.5 py-1.5 text-[12px] leading-relaxed text-background has-data-[slot=kbd]:pr-1.5 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 **:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-50 **:data-[slot=kbd]:rounded-[4px] data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95\",\n className\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground\" />\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n )\n}\n\nexport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger }\n"]}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { cn } from './chunk-LZGII7SX.js';
|
|
2
|
+
import { Tooltip as Tooltip$1 } from 'radix-ui';
|
|
3
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
4
|
+
|
|
5
|
+
function TooltipProvider({
|
|
6
|
+
delayDuration = 0,
|
|
7
|
+
...props
|
|
8
|
+
}) {
|
|
9
|
+
return /* @__PURE__ */ jsx(
|
|
10
|
+
Tooltip$1.Provider,
|
|
11
|
+
{
|
|
12
|
+
"data-slot": "tooltip-provider",
|
|
13
|
+
delayDuration,
|
|
14
|
+
...props
|
|
15
|
+
}
|
|
16
|
+
);
|
|
17
|
+
}
|
|
18
|
+
function Tooltip({
|
|
19
|
+
...props
|
|
20
|
+
}) {
|
|
21
|
+
return /* @__PURE__ */ jsx(Tooltip$1.Root, { "data-slot": "tooltip", ...props });
|
|
22
|
+
}
|
|
23
|
+
function TooltipTrigger({
|
|
24
|
+
...props
|
|
25
|
+
}) {
|
|
26
|
+
return /* @__PURE__ */ jsx(Tooltip$1.Trigger, { "data-slot": "tooltip-trigger", ...props });
|
|
27
|
+
}
|
|
28
|
+
function TooltipContent({
|
|
29
|
+
className,
|
|
30
|
+
sideOffset = 0,
|
|
31
|
+
children,
|
|
32
|
+
...props
|
|
33
|
+
}) {
|
|
34
|
+
return /* @__PURE__ */ jsx(Tooltip$1.Portal, { children: /* @__PURE__ */ jsxs(
|
|
35
|
+
Tooltip$1.Content,
|
|
36
|
+
{
|
|
37
|
+
"data-slot": "tooltip-content",
|
|
38
|
+
sideOffset,
|
|
39
|
+
className: cn(
|
|
40
|
+
// Work sets its tooltips at 12px, relaxed, in a rounded box.
|
|
41
|
+
"z-50 inline-flex w-fit max-w-xs origin-(--radix-tooltip-content-transform-origin) items-center gap-1.5 rounded-[6px] bg-foreground px-2.5 py-1.5 text-[12px] leading-relaxed text-background has-data-[slot=kbd]:pr-1.5 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 **:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-50 **:data-[slot=kbd]:rounded-[4px] data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
|
|
42
|
+
className
|
|
43
|
+
),
|
|
44
|
+
...props,
|
|
45
|
+
children: [
|
|
46
|
+
children,
|
|
47
|
+
/* @__PURE__ */ jsx(Tooltip$1.Arrow, { className: "z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground" })
|
|
48
|
+
]
|
|
49
|
+
}
|
|
50
|
+
) });
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger };
|
|
54
|
+
//# sourceMappingURL=chunk-IB7LTHEQ.js.map
|
|
55
|
+
//# sourceMappingURL=chunk-IB7LTHEQ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/tooltip.tsx"],"names":["TooltipPrimitive"],"mappings":";;;;AAOA,SAAS,eAAA,CAAgB;AAAA,EACvB,aAAA,GAAgB,CAAA;AAAA,EAChB,GAAG;AACL,CAAA,EAA2D;AACzD,EAAA,uBACE,GAAA;AAAA,IAACA,SAAA,CAAiB,QAAA;AAAA,IAAjB;AAAA,MACC,WAAA,EAAU,kBAAA;AAAA,MACV,aAAA;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,OAAA,CAAQ;AAAA,EACf,GAAG;AACL,CAAA,EAAuD;AACrD,EAAA,2BAAQA,SAAA,CAAiB,IAAA,EAAjB,EAAsB,WAAA,EAAU,SAAA,EAAW,GAAG,KAAA,EAAO,CAAA;AAC/D;AAEA,SAAS,cAAA,CAAe;AAAA,EACtB,GAAG;AACL,CAAA,EAA0D;AACxD,EAAA,2BAAQA,SAAA,CAAiB,OAAA,EAAjB,EAAyB,WAAA,EAAU,iBAAA,EAAmB,GAAG,KAAA,EAAO,CAAA;AAC1E;AAEA,SAAS,cAAA,CAAe;AAAA,EACtB,SAAA;AAAA,EACA,UAAA,GAAa,CAAA;AAAA,EACb,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA0D;AACxD,EAAA,uBACE,GAAA,CAACA,SAAA,CAAiB,MAAA,EAAjB,EACC,QAAA,kBAAA,IAAA;AAAA,IAACA,SAAA,CAAiB,OAAA;AAAA,IAAjB;AAAA,MACC,WAAA,EAAU,iBAAA;AAAA,MACV,UAAA;AAAA,MACA,SAAA,EAAW,EAAA;AAAA;AAAA,QAET,wtBAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAA,QAAA;AAAA,wBACD,GAAA,CAACA,SAAA,CAAiB,KAAA,EAAjB,EAAuB,WAAU,oGAAA,EAAqG;AAAA;AAAA;AAAA,GACzI,EACF,CAAA;AAEJ","file":"chunk-IB7LTHEQ.js","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport { Tooltip as TooltipPrimitive } from \"radix-ui\"\n\nimport { cn } from \"./lib/utils\"\n\nfunction TooltipProvider({\n delayDuration = 0,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\n return (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delayDuration={delayDuration}\n {...props}\n />\n )\n}\n\nfunction Tooltip({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Root>) {\n return <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\n}\n\nfunction TooltipTrigger({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />\n}\n\nfunction TooltipContent({\n className,\n sideOffset = 0,\n children,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Content>) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n data-slot=\"tooltip-content\"\n sideOffset={sideOffset}\n className={cn(\n // Work sets its tooltips at 12px, relaxed, in a rounded box.\n \"z-50 inline-flex w-fit max-w-xs origin-(--radix-tooltip-content-transform-origin) items-center gap-1.5 rounded-[6px] bg-foreground px-2.5 py-1.5 text-[12px] leading-relaxed text-background has-data-[slot=kbd]:pr-1.5 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 **:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-50 **:data-[slot=kbd]:rounded-[4px] data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95\",\n className\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground\" />\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n )\n}\n\nexport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger }\n"]}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkVBICNC43_cjs = require('./chunk-VBICNC43.cjs');
|
|
4
|
+
var chunk6YHDDRIM_cjs = require('./chunk-6YHDDRIM.cjs');
|
|
5
|
+
var radixUi = require('radix-ui');
|
|
6
|
+
var lucideReact = require('lucide-react');
|
|
7
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
8
|
+
|
|
9
|
+
function Dialog({
|
|
10
|
+
...props
|
|
11
|
+
}) {
|
|
12
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Dialog.Root, { "data-slot": "dialog", ...props });
|
|
13
|
+
}
|
|
14
|
+
function DialogTrigger({
|
|
15
|
+
...props
|
|
16
|
+
}) {
|
|
17
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Dialog.Trigger, { "data-slot": "dialog-trigger", ...props });
|
|
18
|
+
}
|
|
19
|
+
function DialogPortal({
|
|
20
|
+
...props
|
|
21
|
+
}) {
|
|
22
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Dialog.Portal, { "data-slot": "dialog-portal", ...props });
|
|
23
|
+
}
|
|
24
|
+
function DialogClose({
|
|
25
|
+
...props
|
|
26
|
+
}) {
|
|
27
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Dialog.Close, { "data-slot": "dialog-close", ...props });
|
|
28
|
+
}
|
|
29
|
+
function DialogOverlay({
|
|
30
|
+
className,
|
|
31
|
+
...props
|
|
32
|
+
}) {
|
|
33
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
34
|
+
radixUi.Dialog.Overlay,
|
|
35
|
+
{
|
|
36
|
+
"data-slot": "dialog-overlay",
|
|
37
|
+
className: chunk6YHDDRIM_cjs.cn(
|
|
38
|
+
"fixed inset-0 isolate z-50 bg-black/20 duration-100 supports-backdrop-filter:backdrop-blur-sm data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",
|
|
39
|
+
className
|
|
40
|
+
),
|
|
41
|
+
...props
|
|
42
|
+
}
|
|
43
|
+
);
|
|
44
|
+
}
|
|
45
|
+
function DialogContent({
|
|
46
|
+
className,
|
|
47
|
+
children,
|
|
48
|
+
showCloseButton = true,
|
|
49
|
+
...props
|
|
50
|
+
}) {
|
|
51
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(DialogPortal, { children: [
|
|
52
|
+
/* @__PURE__ */ jsxRuntime.jsx(DialogOverlay, {}),
|
|
53
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
54
|
+
radixUi.Dialog.Content,
|
|
55
|
+
{
|
|
56
|
+
"data-slot": "dialog-content",
|
|
57
|
+
className: chunk6YHDDRIM_cjs.cn(
|
|
58
|
+
// The Work console's dialog: a 14px card with a hairline border and a
|
|
59
|
+
// deep shadow, sentence-case title at 16px.
|
|
60
|
+
"fixed top-1/2 left-1/2 z-50 grid w-full max-h-[calc(100dvh-2rem)] max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-6 overflow-y-auto rounded-[14px] border border-foreground/10 bg-card p-6 text-sm text-card-foreground shadow-[0px_12px_34px_0px_rgba(0,0,0,0.55)] duration-100 outline-none sm:max-w-md data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
|
|
61
|
+
className
|
|
62
|
+
),
|
|
63
|
+
...props,
|
|
64
|
+
children: [
|
|
65
|
+
children,
|
|
66
|
+
showCloseButton && /* @__PURE__ */ jsxRuntime.jsx(radixUi.Dialog.Close, { "data-slot": "dialog-close", asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
67
|
+
chunkVBICNC43_cjs.Button,
|
|
68
|
+
{
|
|
69
|
+
variant: "ghost",
|
|
70
|
+
className: "absolute top-5 right-5 bg-secondary",
|
|
71
|
+
size: "icon-sm",
|
|
72
|
+
children: [
|
|
73
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
74
|
+
lucideReact.XIcon,
|
|
75
|
+
{}
|
|
76
|
+
),
|
|
77
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Close" })
|
|
78
|
+
]
|
|
79
|
+
}
|
|
80
|
+
) })
|
|
81
|
+
]
|
|
82
|
+
}
|
|
83
|
+
)
|
|
84
|
+
] });
|
|
85
|
+
}
|
|
86
|
+
function DialogHeader({ className, ...props }) {
|
|
87
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
88
|
+
"div",
|
|
89
|
+
{
|
|
90
|
+
"data-slot": "dialog-header",
|
|
91
|
+
className: chunk6YHDDRIM_cjs.cn("flex flex-col gap-1.5 pr-8", className),
|
|
92
|
+
...props
|
|
93
|
+
}
|
|
94
|
+
);
|
|
95
|
+
}
|
|
96
|
+
function DialogFooter({
|
|
97
|
+
className,
|
|
98
|
+
showCloseButton = false,
|
|
99
|
+
children,
|
|
100
|
+
...props
|
|
101
|
+
}) {
|
|
102
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
103
|
+
"div",
|
|
104
|
+
{
|
|
105
|
+
"data-slot": "dialog-footer",
|
|
106
|
+
className: chunk6YHDDRIM_cjs.cn(
|
|
107
|
+
"flex flex-col-reverse gap-2.5 sm:flex-row sm:items-center sm:justify-end",
|
|
108
|
+
className
|
|
109
|
+
),
|
|
110
|
+
...props,
|
|
111
|
+
children: [
|
|
112
|
+
children,
|
|
113
|
+
showCloseButton && /* @__PURE__ */ jsxRuntime.jsx(radixUi.Dialog.Close, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(chunkVBICNC43_cjs.Button, { variant: "outline", children: "Close" }) })
|
|
114
|
+
]
|
|
115
|
+
}
|
|
116
|
+
);
|
|
117
|
+
}
|
|
118
|
+
function DialogTitle({
|
|
119
|
+
className,
|
|
120
|
+
...props
|
|
121
|
+
}) {
|
|
122
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
123
|
+
radixUi.Dialog.Title,
|
|
124
|
+
{
|
|
125
|
+
"data-slot": "dialog-title",
|
|
126
|
+
className: chunk6YHDDRIM_cjs.cn(
|
|
127
|
+
"font-sans text-[16px] leading-[1.35] font-semibold text-foreground",
|
|
128
|
+
className
|
|
129
|
+
),
|
|
130
|
+
...props
|
|
131
|
+
}
|
|
132
|
+
);
|
|
133
|
+
}
|
|
134
|
+
function DialogDescription({
|
|
135
|
+
className,
|
|
136
|
+
...props
|
|
137
|
+
}) {
|
|
138
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
139
|
+
radixUi.Dialog.Description,
|
|
140
|
+
{
|
|
141
|
+
"data-slot": "dialog-description",
|
|
142
|
+
className: chunk6YHDDRIM_cjs.cn(
|
|
143
|
+
"text-[13px] leading-[1.45] text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground",
|
|
144
|
+
className
|
|
145
|
+
),
|
|
146
|
+
...props
|
|
147
|
+
}
|
|
148
|
+
);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
exports.Dialog = Dialog;
|
|
152
|
+
exports.DialogClose = DialogClose;
|
|
153
|
+
exports.DialogContent = DialogContent;
|
|
154
|
+
exports.DialogDescription = DialogDescription;
|
|
155
|
+
exports.DialogFooter = DialogFooter;
|
|
156
|
+
exports.DialogHeader = DialogHeader;
|
|
157
|
+
exports.DialogOverlay = DialogOverlay;
|
|
158
|
+
exports.DialogPortal = DialogPortal;
|
|
159
|
+
exports.DialogTitle = DialogTitle;
|
|
160
|
+
exports.DialogTrigger = DialogTrigger;
|
|
161
|
+
//# sourceMappingURL=chunk-ID7MWMJO.cjs.map
|
|
162
|
+
//# sourceMappingURL=chunk-ID7MWMJO.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/dialog.tsx"],"names":["DialogPrimitive","jsx","cn","jsxs","Button","XIcon"],"mappings":"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","file":"chunk-ID7MWMJO.cjs","sourcesContent":["import * as React from \"react\"\nimport { Dialog as DialogPrimitive } from \"radix-ui\"\n\nimport { cn } from \"./lib/utils\"\nimport { Button } from \"./button\"\nimport { XIcon } from \"lucide-react\"\n\nfunction Dialog({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Root>) {\n return <DialogPrimitive.Root data-slot=\"dialog\" {...props} />\n}\n\nfunction DialogTrigger({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Trigger>) {\n return <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />\n}\n\nfunction DialogPortal({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Portal>) {\n return <DialogPrimitive.Portal data-slot=\"dialog-portal\" {...props} />\n}\n\nfunction DialogClose({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Close>) {\n return <DialogPrimitive.Close data-slot=\"dialog-close\" {...props} />\n}\n\nfunction DialogOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Overlay>) {\n return (\n <DialogPrimitive.Overlay\n data-slot=\"dialog-overlay\"\n className={cn(\n \"fixed inset-0 isolate z-50 bg-black/20 duration-100 supports-backdrop-filter:backdrop-blur-sm data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DialogContent({\n className,\n children,\n showCloseButton = true,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Content> & {\n showCloseButton?: boolean\n}) {\n return (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n data-slot=\"dialog-content\"\n className={cn(\n // The Work console's dialog: a 14px card with a hairline border and a\n // deep shadow, sentence-case title at 16px.\n \"fixed top-1/2 left-1/2 z-50 grid w-full max-h-[calc(100dvh-2rem)] max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-6 overflow-y-auto rounded-[14px] border border-foreground/10 bg-card p-6 text-sm text-card-foreground shadow-[0px_12px_34px_0px_rgba(0,0,0,0.55)] duration-100 outline-none sm:max-w-md data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95\",\n className\n )}\n {...props}\n >\n {children}\n {showCloseButton && (\n <DialogPrimitive.Close data-slot=\"dialog-close\" asChild>\n <Button\n variant=\"ghost\"\n className=\"absolute top-5 right-5 bg-secondary\"\n size=\"icon-sm\"\n >\n <XIcon\n />\n <span className=\"sr-only\">Close</span>\n </Button>\n </DialogPrimitive.Close>\n )}\n </DialogPrimitive.Content>\n </DialogPortal>\n )\n}\n\nfunction DialogHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"dialog-header\"\n // pr-8 keeps the title clear of the close button, which is absolutely\n // positioned at top-5 right-5 and otherwise sits on top of any title\n // long enough to reach it. Harmless on the dialogs that hide it.\n className={cn(\"flex flex-col gap-1.5 pr-8\", className)}\n {...props}\n />\n )\n}\n\nfunction DialogFooter({\n className,\n showCloseButton = false,\n children,\n ...props\n}: React.ComponentProps<\"div\"> & {\n showCloseButton?: boolean\n}) {\n return (\n <div\n data-slot=\"dialog-footer\"\n className={cn(\n \"flex flex-col-reverse gap-2.5 sm:flex-row sm:items-center sm:justify-end\",\n className\n )}\n {...props}\n >\n {children}\n {showCloseButton && (\n <DialogPrimitive.Close asChild>\n <Button variant=\"outline\">Close</Button>\n </DialogPrimitive.Close>\n )}\n </div>\n )\n}\n\nfunction DialogTitle({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Title>) {\n return (\n <DialogPrimitive.Title\n data-slot=\"dialog-title\"\n className={cn(\n \"font-sans text-[16px] leading-[1.35] font-semibold text-foreground\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Description>) {\n return (\n <DialogPrimitive.Description\n data-slot=\"dialog-description\"\n className={cn(\n \"text-[13px] leading-[1.45] text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n}\n"]}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunk6YHDDRIM_cjs = require('./chunk-6YHDDRIM.cjs');
|
|
4
|
+
var classVarianceAuthority = require('class-variance-authority');
|
|
5
|
+
var radixUi = require('radix-ui');
|
|
6
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
7
|
+
|
|
8
|
+
var toggleVariants = classVarianceAuthority.cva(
|
|
9
|
+
"group/toggle inline-flex shrink-0 items-center justify-center gap-1.5 border whitespace-nowrap transition-colors outline-none focus-visible:ring-2 focus-visible:ring-ring/40 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-3.5",
|
|
10
|
+
{
|
|
11
|
+
variants: {
|
|
12
|
+
variant: {
|
|
13
|
+
default: "rounded-[9px] border-foreground/[0.08] bg-foreground/[0.04] font-medium text-muted-foreground hover:text-foreground data-[state=on]:border-amber-500/40 data-[state=on]:bg-amber-500/[0.12] data-[state=on]:text-foreground",
|
|
14
|
+
outline: "rounded-full border-foreground/10 text-muted-foreground hover:text-foreground data-[state=on]:border-foreground/30 data-[state=on]:bg-foreground/[0.08] data-[state=on]:font-medium data-[state=on]:text-foreground"
|
|
15
|
+
},
|
|
16
|
+
size: {
|
|
17
|
+
default: "min-h-10 px-3 text-[13px] pointer-fine:min-h-8",
|
|
18
|
+
sm: "min-h-9 px-3 text-[12px] pointer-fine:min-h-7",
|
|
19
|
+
lg: "min-h-11 px-4 text-sm pointer-fine:min-h-9"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
defaultVariants: {
|
|
23
|
+
variant: "default",
|
|
24
|
+
size: "default"
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
);
|
|
28
|
+
function Toggle({
|
|
29
|
+
className,
|
|
30
|
+
variant = "default",
|
|
31
|
+
size = "default",
|
|
32
|
+
...props
|
|
33
|
+
}) {
|
|
34
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
35
|
+
radixUi.Toggle.Root,
|
|
36
|
+
{
|
|
37
|
+
"data-slot": "toggle",
|
|
38
|
+
className: chunk6YHDDRIM_cjs.cn(toggleVariants({ variant, size, className })),
|
|
39
|
+
...props
|
|
40
|
+
}
|
|
41
|
+
);
|
|
42
|
+
}
|
|
43
|
+
function FilterPill({
|
|
44
|
+
on,
|
|
45
|
+
onClick,
|
|
46
|
+
dim,
|
|
47
|
+
className,
|
|
48
|
+
...props
|
|
49
|
+
}) {
|
|
50
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
51
|
+
Toggle,
|
|
52
|
+
{
|
|
53
|
+
variant: "outline",
|
|
54
|
+
size: "sm",
|
|
55
|
+
pressed: on,
|
|
56
|
+
onPressedChange: () => onClick(),
|
|
57
|
+
className: chunk6YHDDRIM_cjs.cn(dim && !on && "opacity-55", className),
|
|
58
|
+
...props
|
|
59
|
+
}
|
|
60
|
+
);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
exports.FilterPill = FilterPill;
|
|
64
|
+
exports.Toggle = Toggle;
|
|
65
|
+
exports.toggleVariants = toggleVariants;
|
|
66
|
+
//# sourceMappingURL=chunk-IVMZANP7.cjs.map
|
|
67
|
+
//# sourceMappingURL=chunk-IVMZANP7.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/toggle.tsx"],"names":["cva","jsx","TogglePrimitive","cn"],"mappings":";;;;;;;AAWA,IAAM,cAAA,GAAiBA,0BAAA;AAAA,EACrB,oVAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,OAAA,EACE,6NAAA;AAAA,QACF,OAAA,EACE;AAAA,OACJ;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,OAAA,EAAS,gDAAA;AAAA,QACT,EAAA,EAAI,+CAAA;AAAA,QACJ,EAAA,EAAI;AAAA;AACN,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS,SAAA;AAAA,MACT,IAAA,EAAM;AAAA;AACR;AAEJ;AAEA,SAAS,MAAA,CAAO;AAAA,EACd,SAAA;AAAA,EACA,OAAA,GAAU,SAAA;AAAA,EACV,IAAA,GAAO,SAAA;AAAA,EACP,GAAG;AACL,CAAA,EACuC;AACrC,EAAA,uBACEC,cAAA;AAAA,IAACC,cAAA,CAAgB,IAAA;AAAA,IAAhB;AAAA,MACC,WAAA,EAAU,QAAA;AAAA,MACV,SAAA,EAAWC,qBAAG,cAAA,CAAe,EAAE,SAAS,IAAA,EAAM,SAAA,EAAW,CAAC,CAAA;AAAA,MACzD,GAAG;AAAA;AAAA,GACN;AAEJ;AAMA,SAAS,UAAA,CAAW;AAAA,EAClB,EAAA;AAAA,EACA,OAAA;AAAA,EACA,GAAA;AAAA,EACA,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAQG;AACD,EAAA,uBACEF,cAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,OAAA,EAAQ,SAAA;AAAA,MACR,IAAA,EAAK,IAAA;AAAA,MACL,OAAA,EAAS,EAAA;AAAA,MACT,eAAA,EAAiB,MAAM,OAAA,EAAQ;AAAA,MAC/B,WAAWE,oBAAA,CAAG,GAAA,IAAO,CAAC,EAAA,IAAM,cAAc,SAAS,CAAA;AAAA,MAClD,GAAG;AAAA;AAAA,GACN;AAEJ","file":"chunk-IVMZANP7.cjs","sourcesContent":["import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { Toggle as TogglePrimitive } from \"radix-ui\"\n\nimport { cn } from \"./lib/utils\"\n\n// The Work console's pressed-state toggles. `default` is the 9px chip its\n// forms use for a choice that is on or off (Once / Repeating, the days of the\n// week): a faint box, amber-tinted once pressed. `outline` is its filter\n// pill: round, bordered, a neutral fill once on. Muted text brightens on\n// hover. Touch keeps 40px or more, a mouse the compact height.\nconst toggleVariants = cva(\n \"group/toggle inline-flex shrink-0 items-center justify-center gap-1.5 border whitespace-nowrap transition-colors outline-none focus-visible:ring-2 focus-visible:ring-ring/40 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-3.5\",\n {\n variants: {\n variant: {\n default:\n \"rounded-[9px] border-foreground/[0.08] bg-foreground/[0.04] font-medium text-muted-foreground hover:text-foreground data-[state=on]:border-amber-500/40 data-[state=on]:bg-amber-500/[0.12] data-[state=on]:text-foreground\",\n outline:\n \"rounded-full border-foreground/10 text-muted-foreground hover:text-foreground data-[state=on]:border-foreground/30 data-[state=on]:bg-foreground/[0.08] data-[state=on]:font-medium data-[state=on]:text-foreground\",\n },\n size: {\n default: \"min-h-10 px-3 text-[13px] pointer-fine:min-h-8\",\n sm: \"min-h-9 px-3 text-[12px] pointer-fine:min-h-7\",\n lg: \"min-h-11 px-4 text-sm pointer-fine:min-h-9\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nfunction Toggle({\n className,\n variant = \"default\",\n size = \"default\",\n ...props\n}: React.ComponentProps<typeof TogglePrimitive.Root> &\n VariantProps<typeof toggleVariants>) {\n return (\n <TogglePrimitive.Root\n data-slot=\"toggle\"\n className={cn(toggleVariants({ variant, size, className }))}\n {...props}\n />\n )\n}\n\n/**\n * The Work filter pill (a row of them filters a list: \"All channels\",\n * \"Slack 3\"…). An empty filter stays clickable, just quieter.\n */\nfunction FilterPill({\n on,\n onClick,\n dim,\n className,\n ...props\n}: Omit<\n React.ComponentProps<typeof TogglePrimitive.Root>,\n \"pressed\" | \"onPressedChange\" | \"onClick\"\n> & {\n on: boolean\n onClick: () => void\n /** Nothing behind it yet: still clickable, just quieter. */\n dim?: boolean\n}) {\n return (\n <Toggle\n variant=\"outline\"\n size=\"sm\"\n pressed={on}\n onPressedChange={() => onClick()}\n className={cn(dim && !on && \"opacity-55\", className)}\n {...props}\n />\n )\n}\n\nexport { Toggle, FilterPill, toggleVariants }\n"]}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { cn } from './chunk-LZGII7SX.js';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { Slot } from 'radix-ui';
|
|
4
|
+
import { ChevronLeft, ChevronRight } from 'lucide-react';
|
|
5
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
6
|
+
|
|
7
|
+
var SidebarContext = React.createContext({ collapsed: false });
|
|
8
|
+
function useSidebar() {
|
|
9
|
+
return React.useContext(SidebarContext);
|
|
10
|
+
}
|
|
11
|
+
function Sidebar({
|
|
12
|
+
pinned: pinnedProp,
|
|
13
|
+
onPinnedChange,
|
|
14
|
+
className,
|
|
15
|
+
children,
|
|
16
|
+
...props
|
|
17
|
+
}) {
|
|
18
|
+
const [ownPinned, setOwnPinned] = React.useState(true);
|
|
19
|
+
const pinned = pinnedProp ?? ownPinned;
|
|
20
|
+
const [hoverOpen, setHoverOpen] = React.useState(false);
|
|
21
|
+
const collapsed = !pinned && !hoverOpen;
|
|
22
|
+
const context = React.useMemo(() => ({ collapsed }), [collapsed]);
|
|
23
|
+
function togglePinned() {
|
|
24
|
+
if (pinned) setHoverOpen(false);
|
|
25
|
+
setOwnPinned(!pinned);
|
|
26
|
+
onPinnedChange?.(!pinned);
|
|
27
|
+
}
|
|
28
|
+
return /* @__PURE__ */ jsx(SidebarContext.Provider, { value: context, children: /* @__PURE__ */ jsxs(
|
|
29
|
+
"aside",
|
|
30
|
+
{
|
|
31
|
+
"data-slot": "sidebar",
|
|
32
|
+
"data-collapsed": collapsed ? "" : void 0,
|
|
33
|
+
onMouseEnter: () => setHoverOpen(true),
|
|
34
|
+
onMouseLeave: () => setHoverOpen(false),
|
|
35
|
+
className: cn(
|
|
36
|
+
"hidden h-full w-[295px] shrink-0 flex-col overflow-hidden border-r border-line bg-surface transition-[width] duration-200 ease-out data-collapsed:w-[50px] md:flex",
|
|
37
|
+
className
|
|
38
|
+
),
|
|
39
|
+
...props,
|
|
40
|
+
children: [
|
|
41
|
+
/* @__PURE__ */ jsx("div", { className: "flex min-h-0 flex-1 flex-col", children }),
|
|
42
|
+
/* @__PURE__ */ jsx(
|
|
43
|
+
"button",
|
|
44
|
+
{
|
|
45
|
+
type: "button",
|
|
46
|
+
onClick: togglePinned,
|
|
47
|
+
"aria-label": pinned ? "Collapse sidebar" : "Expand sidebar",
|
|
48
|
+
className: "flex w-full shrink-0 cursor-pointer items-center justify-center border-t border-line py-2.5 text-faint transition-colors hover:text-foreground",
|
|
49
|
+
children: pinned ? /* @__PURE__ */ jsx(ChevronLeft, { className: "size-4", strokeWidth: 1.75 }) : /* @__PURE__ */ jsx(ChevronRight, { className: "size-4", strokeWidth: 1.75 })
|
|
50
|
+
}
|
|
51
|
+
)
|
|
52
|
+
]
|
|
53
|
+
}
|
|
54
|
+
) });
|
|
55
|
+
}
|
|
56
|
+
function SidebarBrand({
|
|
57
|
+
title,
|
|
58
|
+
subtitle,
|
|
59
|
+
imageSrc = "/login.svg",
|
|
60
|
+
link,
|
|
61
|
+
className,
|
|
62
|
+
children,
|
|
63
|
+
...props
|
|
64
|
+
}) {
|
|
65
|
+
const { collapsed } = useSidebar();
|
|
66
|
+
const Comp = link ? Slot.Root : "div";
|
|
67
|
+
return (
|
|
68
|
+
// With a cursor the brand and its children share one line; on touch the
|
|
69
|
+
// children get a row of their own.
|
|
70
|
+
/* @__PURE__ */ jsxs(
|
|
71
|
+
"div",
|
|
72
|
+
{
|
|
73
|
+
"data-slot": "sidebar-brand",
|
|
74
|
+
className: cn(
|
|
75
|
+
"flex shrink-0 flex-col gap-3 pt-5 pb-3 pointer-fine:flex-row pointer-fine:items-start pointer-fine:gap-2",
|
|
76
|
+
collapsed ? "px-1.5" : "px-4",
|
|
77
|
+
className
|
|
78
|
+
),
|
|
79
|
+
...props,
|
|
80
|
+
children: [
|
|
81
|
+
/* @__PURE__ */ jsxs(
|
|
82
|
+
Comp,
|
|
83
|
+
{
|
|
84
|
+
className: cn(
|
|
85
|
+
"flex min-w-0 items-center gap-2.5 text-foreground no-underline pointer-coarse:pe-12",
|
|
86
|
+
collapsed && "flex-1 justify-center gap-0"
|
|
87
|
+
),
|
|
88
|
+
children: [
|
|
89
|
+
link && /* @__PURE__ */ jsx(Slot.Slottable, { children: link }),
|
|
90
|
+
/* @__PURE__ */ jsx("img", { src: imageSrc, alt: title, className: "size-9 shrink-0 rounded-full" }),
|
|
91
|
+
!collapsed && /* @__PURE__ */ jsxs("div", { className: "min-w-0 whitespace-nowrap", children: [
|
|
92
|
+
/* @__PURE__ */ jsx("div", { className: "text-[15px] leading-tight font-semibold", children: title }),
|
|
93
|
+
subtitle && /* @__PURE__ */ jsx("div", { className: "text-xs text-muted-foreground", children: subtitle })
|
|
94
|
+
] })
|
|
95
|
+
]
|
|
96
|
+
}
|
|
97
|
+
),
|
|
98
|
+
children
|
|
99
|
+
]
|
|
100
|
+
}
|
|
101
|
+
)
|
|
102
|
+
);
|
|
103
|
+
}
|
|
104
|
+
function SidebarUserBar({
|
|
105
|
+
avatar,
|
|
106
|
+
name,
|
|
107
|
+
className,
|
|
108
|
+
children,
|
|
109
|
+
...props
|
|
110
|
+
}) {
|
|
111
|
+
const { collapsed } = useSidebar();
|
|
112
|
+
return /* @__PURE__ */ jsxs(
|
|
113
|
+
"div",
|
|
114
|
+
{
|
|
115
|
+
"data-slot": "sidebar-user-bar",
|
|
116
|
+
className: cn(
|
|
117
|
+
"flex shrink-0 items-center gap-2.5 border-t border-line pt-3 pb-1 pointer-coarse:gap-1.5 pointer-coarse:pt-2 pointer-coarse:pb-0",
|
|
118
|
+
// The left-weighted padding lines the avatar up with the rows above.
|
|
119
|
+
collapsed ? "justify-center gap-0 px-1.5" : "pl-2 pr-1.5",
|
|
120
|
+
className
|
|
121
|
+
),
|
|
122
|
+
...props,
|
|
123
|
+
children: [
|
|
124
|
+
avatar,
|
|
125
|
+
!collapsed && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
126
|
+
/* @__PURE__ */ jsx("span", { className: "min-w-0 flex-1 truncate text-[13px] text-foreground pointer-coarse:text-[14px]", children: name }),
|
|
127
|
+
/* @__PURE__ */ jsx("div", { className: "flex items-center gap-1.5", children })
|
|
128
|
+
] })
|
|
129
|
+
]
|
|
130
|
+
}
|
|
131
|
+
);
|
|
132
|
+
}
|
|
133
|
+
function SidebarAction({
|
|
134
|
+
label,
|
|
135
|
+
asChild = false,
|
|
136
|
+
className,
|
|
137
|
+
...props
|
|
138
|
+
}) {
|
|
139
|
+
const Comp = asChild ? Slot.Root : "button";
|
|
140
|
+
return /* @__PURE__ */ jsx(
|
|
141
|
+
Comp,
|
|
142
|
+
{
|
|
143
|
+
"data-slot": "sidebar-action",
|
|
144
|
+
"aria-label": label,
|
|
145
|
+
...asChild ? {} : { type: "button" },
|
|
146
|
+
className: cn(
|
|
147
|
+
"inline-flex cursor-pointer items-center justify-center rounded p-1 text-muted-foreground hover:bg-input hover:text-foreground pointer-coarse:size-11 pointer-coarse:rounded-xl pointer-coarse:p-0 pointer-coarse:active:bg-input [&_svg:not([class*='size-'])]:size-[18px]",
|
|
148
|
+
className
|
|
149
|
+
),
|
|
150
|
+
...props
|
|
151
|
+
}
|
|
152
|
+
);
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
export { Sidebar, SidebarAction, SidebarBrand, SidebarUserBar, useSidebar };
|
|
156
|
+
//# sourceMappingURL=chunk-L73QIINW.js.map
|
|
157
|
+
//# sourceMappingURL=chunk-L73QIINW.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/sidebar.tsx"],"names":[],"mappings":"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","file":"chunk-L73QIINW.js","sourcesContent":["import * as React from \"react\"\nimport { Slot } from \"radix-ui\"\nimport { ChevronLeft, ChevronRight } from \"lucide-react\"\n\nimport { cn } from \"./lib/utils\"\n\nconst SidebarContext = React.createContext({ collapsed: false })\n\n/**\n * Whether the enclosing rail is collapsed to its icons. Outside a `Sidebar`\n * (a phone drawer, a page) nothing is collapsed, so the same parts draw open\n * there.\n */\nfunction useSidebar() {\n return React.useContext(SidebarContext)\n}\n\ntype SidebarProps = Omit<\n React.ComponentProps<\"aside\">,\n \"onMouseEnter\" | \"onMouseLeave\"\n> & {\n /** Pinned, the sidebar stays open; unpinned, it is an icon rail that opens\n * while the pointer is over it. Kept here when not passed. */\n pinned?: boolean\n onPinnedChange?: (pinned: boolean) => void\n}\n\n/**\n * The ops console's desktop sidebar: 295px open, a 50px icon rail collapsed,\n * with the pin toggle along its bottom. Hidden below `md`, where navigation\n * belongs in a drawer: render the same parts there, outside a `Sidebar`.\n * `ListRow` and `SectionLabel` inside it shrink to their icon and rule.\n */\nfunction Sidebar({\n pinned: pinnedProp,\n onPinnedChange,\n className,\n children,\n ...props\n}: SidebarProps) {\n const [ownPinned, setOwnPinned] = React.useState(true)\n const pinned = pinnedProp ?? ownPinned\n const [hoverOpen, setHoverOpen] = React.useState(false)\n const collapsed = !pinned && !hoverOpen\n const context = React.useMemo(() => ({ collapsed }), [collapsed])\n\n function togglePinned() {\n // The toggle is under the pointer: unpinning closes the rail now rather\n // than leaving it hover-open until the pointer leaves.\n if (pinned) setHoverOpen(false)\n setOwnPinned(!pinned)\n onPinnedChange?.(!pinned)\n }\n\n return (\n <SidebarContext.Provider value={context}>\n <aside\n data-slot=\"sidebar\"\n data-collapsed={collapsed ? \"\" : undefined}\n onMouseEnter={() => setHoverOpen(true)}\n onMouseLeave={() => setHoverOpen(false)}\n className={cn(\n \"hidden h-full w-[295px] shrink-0 flex-col overflow-hidden border-r border-line bg-surface transition-[width] duration-200 ease-out data-collapsed:w-[50px] md:flex\",\n className\n )}\n {...props}\n >\n <div className=\"flex min-h-0 flex-1 flex-col\">{children}</div>\n <button\n type=\"button\"\n onClick={togglePinned}\n aria-label={pinned ? \"Collapse sidebar\" : \"Expand sidebar\"}\n className=\"flex w-full shrink-0 cursor-pointer items-center justify-center border-t border-line py-2.5 text-faint transition-colors hover:text-foreground\"\n >\n {pinned ? (\n <ChevronLeft className=\"size-4\" strokeWidth={1.75} />\n ) : (\n <ChevronRight className=\"size-4\" strokeWidth={1.75} />\n )}\n </button>\n </aside>\n </SidebarContext.Provider>\n )\n}\n\ntype SidebarBrandProps = Omit<React.ComponentProps<\"div\">, \"title\"> & {\n title: string\n subtitle?: React.ReactNode\n imageSrc?: string\n /** What the mark and title link through (a router `Link`); they are placed\n * inside it. */\n link?: React.ReactElement\n}\n\n/**\n * The sidebar's brand strip: the mark, a title and a muted subtitle; in the\n * rail the mark alone, centred. Children (a mode switch) follow it.\n */\nfunction SidebarBrand({\n title,\n subtitle,\n imageSrc = \"/login.svg\",\n link,\n className,\n children,\n ...props\n}: SidebarBrandProps) {\n const { collapsed } = useSidebar()\n const Comp = link ? Slot.Root : \"div\"\n\n return (\n // With a cursor the brand and its children share one line; on touch the\n // children get a row of their own.\n <div\n data-slot=\"sidebar-brand\"\n className={cn(\n \"flex shrink-0 flex-col gap-3 pt-5 pb-3 pointer-fine:flex-row pointer-fine:items-start pointer-fine:gap-2\",\n collapsed ? \"px-1.5\" : \"px-4\",\n className\n )}\n {...props}\n >\n {/* A drawer's close button floats over the end of this line; the\n inset keeps the title clear of it. */}\n <Comp\n className={cn(\n \"flex min-w-0 items-center gap-2.5 text-foreground no-underline pointer-coarse:pe-12\",\n collapsed && \"flex-1 justify-center gap-0\"\n )}\n >\n {link && <Slot.Slottable>{link}</Slot.Slottable>}\n <img src={imageSrc} alt={title} className=\"size-9 shrink-0 rounded-full\" />\n {!collapsed && (\n <div className=\"min-w-0 whitespace-nowrap\">\n <div className=\"text-[15px] leading-tight font-semibold\">{title}</div>\n {subtitle && <div className=\"text-xs text-muted-foreground\">{subtitle}</div>}\n </div>\n )}\n </Comp>\n {children}\n </div>\n )\n}\n\ntype SidebarUserBarProps = Omit<React.ComponentProps<\"div\">, \"children\"> & {\n avatar: React.ReactNode\n name: React.ReactNode\n /** The bar's `SidebarAction`s: theme, settings, sign out. */\n children?: React.ReactNode\n}\n\n/**\n * The sidebar's bottom bar: the user's avatar and name, then the global\n * controls. In the rail the avatar alone.\n */\nfunction SidebarUserBar({\n avatar,\n name,\n className,\n children,\n ...props\n}: SidebarUserBarProps) {\n const { collapsed } = useSidebar()\n\n return (\n <div\n data-slot=\"sidebar-user-bar\"\n className={cn(\n \"flex shrink-0 items-center gap-2.5 border-t border-line pt-3 pb-1 pointer-coarse:gap-1.5 pointer-coarse:pt-2 pointer-coarse:pb-0\",\n // The left-weighted padding lines the avatar up with the rows above.\n collapsed ? \"justify-center gap-0 px-1.5\" : \"pl-2 pr-1.5\",\n className\n )}\n {...props}\n >\n {avatar}\n {!collapsed && (\n <>\n <span className=\"min-w-0 flex-1 truncate text-[13px] text-foreground pointer-coarse:text-[14px]\">\n {name}\n </span>\n <div className=\"flex items-center gap-1.5\">{children}</div>\n </>\n )}\n </div>\n )\n}\n\n/**\n * An icon control in the user bar. 26px with a cursor, the 44px floor on\n * touch. A button, or a router link via `asChild`.\n */\nfunction SidebarAction({\n label,\n asChild = false,\n className,\n ...props\n}: React.ComponentProps<\"button\"> & { label: string; asChild?: boolean }) {\n const Comp = asChild ? Slot.Root : \"button\"\n\n return (\n <Comp\n data-slot=\"sidebar-action\"\n aria-label={label}\n {...(asChild ? {} : { type: \"button\" as const })}\n className={cn(\n \"inline-flex cursor-pointer items-center justify-center rounded p-1 text-muted-foreground hover:bg-input hover:text-foreground pointer-coarse:size-11 pointer-coarse:rounded-xl pointer-coarse:p-0 pointer-coarse:active:bg-input [&_svg:not([class*='size-'])]:size-[18px]\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Sidebar, SidebarBrand, SidebarUserBar, SidebarAction, useSidebar }\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { clsx } from 'clsx';
|
|
2
|
+
import { twMerge } from 'tailwind-merge';
|
|
3
|
+
|
|
4
|
+
// src/lib/utils.ts
|
|
5
|
+
function cn(...inputs) {
|
|
6
|
+
return twMerge(clsx(inputs));
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export { cn };
|
|
10
|
+
//# sourceMappingURL=chunk-LZGII7SX.js.map
|
|
11
|
+
//# sourceMappingURL=chunk-LZGII7SX.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/lib/utils.ts"],"names":[],"mappings":";;;;AAMO,SAAS,MAAM,MAAA,EAA8B;AAClD,EAAA,OAAO,OAAA,CAAQ,IAAA,CAAK,MAAM,CAAC,CAAA;AAC7B","file":"chunk-LZGII7SX.js","sourcesContent":["// Copyright (c) 2026, Invergent SA, developed by Flavius Burca\n// SPDX-License-Identifier: AGPL-3.0-only\n//\nimport { type ClassValue, clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]): string {\n return twMerge(clsx(inputs));\n}\n"]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { cn } from './chunk-LZGII7SX.js';
|
|
2
|
+
import { Label as Label$1 } from 'radix-ui';
|
|
3
|
+
import { jsx } from 'react/jsx-runtime';
|
|
4
|
+
|
|
5
|
+
function Label({
|
|
6
|
+
className,
|
|
7
|
+
...props
|
|
8
|
+
}) {
|
|
9
|
+
return /* @__PURE__ */ jsx(
|
|
10
|
+
Label$1.Root,
|
|
11
|
+
{
|
|
12
|
+
"data-slot": "label",
|
|
13
|
+
className: cn(
|
|
14
|
+
"flex items-center gap-2 text-sm font-medium text-muted-foreground select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50 peer-data-[slot=checkbox]:font-normal peer-data-[slot=checkbox]:text-foreground peer-data-[slot=radio-group-item]:font-normal peer-data-[slot=radio-group-item]:text-foreground peer-data-[slot=switch]:font-normal peer-data-[slot=switch]:text-foreground",
|
|
15
|
+
className
|
|
16
|
+
),
|
|
17
|
+
...props
|
|
18
|
+
}
|
|
19
|
+
);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export { Label };
|
|
23
|
+
//# sourceMappingURL=chunk-M677T75H.js.map
|
|
24
|
+
//# sourceMappingURL=chunk-M677T75H.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/label.tsx"],"names":["LabelPrimitive"],"mappings":";;;;AAOA,SAAS,KAAA,CAAM;AAAA,EACb,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAqD;AACnD,EAAA,uBACE,GAAA;AAAA,IAACA,OAAA,CAAe,IAAA;AAAA,IAAf;AAAA,MACC,WAAA,EAAU,OAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,0dAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ","file":"chunk-M677T75H.js","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport { Label as LabelPrimitive } from \"radix-ui\"\n\nimport { cn } from \"./lib/utils\"\n\nfunction Label({\n className,\n ...props\n}: React.ComponentProps<typeof LabelPrimitive.Root>) {\n return (\n <LabelPrimitive.Root\n data-slot=\"label\"\n className={cn(\n \"flex items-center gap-2 text-sm font-medium text-muted-foreground select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50 peer-data-[slot=checkbox]:font-normal peer-data-[slot=checkbox]:text-foreground peer-data-[slot=radio-group-item]:font-normal peer-data-[slot=radio-group-item]:text-foreground peer-data-[slot=switch]:font-normal peer-data-[slot=switch]:text-foreground\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Label }\n"]}
|