@invergent/ui-sdk 0.0.0-stage → 2.19.0
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 +62 -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.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-OAVCB3MR.cjs +26 -0
- package/dist/chunk-OAVCB3MR.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-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/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/input-group.cjs +148 -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 +141 -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/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 +88 -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 +80 -0
- package/dist/popover.js.map +1 -0
- package/dist/progress-bar.cjs +28 -0
- package/dist/progress-bar.cjs.map +1 -0
- package/dist/progress-bar.d.cts +11 -0
- package/dist/progress-bar.d.ts +11 -0
- package/dist/progress-bar.js +26 -0
- package/dist/progress-bar.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/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 +60 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/scroll-area.tsx"],"names":["ScrollAreaPrimitive"],"mappings":";;;;AAOA,SAAS,UAAA,CAAW;AAAA,EAClB,SAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA0D;AACxD,EAAA,uBACE,IAAA;AAAA,IAACA,YAAA,CAAoB,IAAA;AAAA,IAApB;AAAA,MACC,WAAA,EAAU,aAAA;AAAA,MACV,SAAA,EAAW,EAAA,CAAG,UAAA,EAAY,SAAS,CAAA;AAAA,MAClC,GAAG,KAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,wBAAA,GAAA;AAAA,UAACA,YAAA,CAAoB,QAAA;AAAA,UAApB;AAAA,YACC,WAAA,EAAU,sBAAA;AAAA,YACV,SAAA,EAAU,oJAAA;AAAA,YAET;AAAA;AAAA,SACH;AAAA,4BACC,SAAA,EAAA,EAAU,CAAA;AAAA,wBACX,GAAA,CAACA,YAAA,CAAoB,MAAA,EAApB,EAA2B;AAAA;AAAA;AAAA,GAC9B;AAEJ;AAEA,SAAS,SAAA,CAAU;AAAA,EACjB,SAAA;AAAA,EACA,WAAA,GAAc,UAAA;AAAA,EACd,GAAG;AACL,CAAA,EAAyE;AACvE,EAAA,uBACE,GAAA;AAAA,IAACA,YAAA,CAAoB,mBAAA;AAAA,IAApB;AAAA,MACC,WAAA,EAAU,uBAAA;AAAA,MACV,kBAAA,EAAkB,WAAA;AAAA,MAClB,WAAA;AAAA,MACA,SAAA,EAAW,EAAA;AAAA,QACT,oQAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAA,GAAA;AAAA,QAACA,YAAA,CAAoB,eAAA;AAAA,QAApB;AAAA,UACC,WAAA,EAAU,mBAAA;AAAA,UACV,SAAA,EAAU;AAAA;AAAA;AACZ;AAAA,GACF;AAEJ","file":"scroll-area.js","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport { ScrollArea as ScrollAreaPrimitive } from \"radix-ui\"\n\nimport { cn } from \"./lib/utils\"\n\nfunction ScrollArea({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof ScrollAreaPrimitive.Root>) {\n return (\n <ScrollAreaPrimitive.Root\n data-slot=\"scroll-area\"\n className={cn(\"relative\", className)}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport\n data-slot=\"scroll-area-viewport\"\n className=\"size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1\"\n >\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n )\n}\n\nfunction ScrollBar({\n className,\n orientation = \"vertical\",\n ...props\n}: React.ComponentProps<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>) {\n return (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n data-slot=\"scroll-area-scrollbar\"\n data-orientation={orientation}\n orientation={orientation}\n className={cn(\n \"flex touch-none p-px transition-colors select-none data-horizontal:h-2.5 data-horizontal:flex-col data-horizontal:border-t data-horizontal:border-t-transparent data-vertical:h-full data-vertical:w-2.5 data-vertical:border-l data-vertical:border-l-transparent\",\n className\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb\n data-slot=\"scroll-area-thumb\"\n className=\"relative flex-1 rounded-none bg-border\"\n />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n )\n}\n\nexport { ScrollArea, ScrollBar }\n"]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunk2UHRDVPT_cjs = require('./chunk-2UHRDVPT.cjs');
|
|
4
|
+
var chunk6YHDDRIM_cjs = require('./chunk-6YHDDRIM.cjs');
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
|
|
7
|
+
function SectionLabel({
|
|
8
|
+
label,
|
|
9
|
+
className,
|
|
10
|
+
...props
|
|
11
|
+
}) {
|
|
12
|
+
const { collapsed } = chunk2UHRDVPT_cjs.useSidebar();
|
|
13
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
14
|
+
"div",
|
|
15
|
+
{
|
|
16
|
+
"data-slot": "section-label",
|
|
17
|
+
className: chunk6YHDDRIM_cjs.cn(
|
|
18
|
+
"border-t border-line pointer-coarse:mt-3 pointer-coarse:mb-1 pointer-coarse:pt-4",
|
|
19
|
+
collapsed ? "my-1.5" : "mt-2 mb-0.5 pt-3 pl-2.5",
|
|
20
|
+
className
|
|
21
|
+
),
|
|
22
|
+
...props,
|
|
23
|
+
children: !collapsed && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "inline-block text-xs text-subtle pointer-coarse:text-[13px] pointer-coarse:font-medium pointer-coarse:tracking-wide", children: label })
|
|
24
|
+
}
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
exports.SectionLabel = SectionLabel;
|
|
29
|
+
//# sourceMappingURL=section-label.cjs.map
|
|
30
|
+
//# sourceMappingURL=section-label.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/section-label.tsx"],"names":["useSidebar","jsx","cn"],"mappings":";;;;;;AAUA,SAAS,YAAA,CAAa;AAAA,EACpB,KAAA;AAAA,EACA,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA+E;AAG7E,EAAA,MAAM,EAAE,SAAA,EAAU,GAAIA,4BAAA,EAAW;AAEjC,EAAA,uBACEC,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,eAAA;AAAA,MACV,SAAA,EAAWC,oBAAA;AAAA,QACT,kFAAA;AAAA,QACA,YAAY,QAAA,GAAW,yBAAA;AAAA,QACvB;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEH,WAAC,SAAA,oBACAD,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,uHACb,QAAA,EAAA,KAAA,EACH;AAAA;AAAA,GAEJ;AAEJ","file":"section-label.cjs","sourcesContent":["import * as React from \"react\"\n\nimport { cn } from \"./lib/utils\"\nimport { useSidebar } from \"./sidebar\"\n\n/**\n * The Work navbar's group label (\"Library\"): a rule above a small, quiet\n * word, starting a new group in a list of rows. Touch steps the type up and\n * the spacing out with the rows around it.\n */\nfunction SectionLabel({\n label,\n className,\n ...props\n}: Omit<React.ComponentProps<\"div\">, \"children\"> & { label: React.ReactNode }) {\n // In a collapsed sidebar rail there is no room for the word: the rule alone\n // still says \"a new group\".\n const { collapsed } = useSidebar()\n\n return (\n <div\n data-slot=\"section-label\"\n className={cn(\n \"border-t border-line pointer-coarse:mt-3 pointer-coarse:mb-1 pointer-coarse:pt-4\",\n collapsed ? \"my-1.5\" : \"mt-2 mb-0.5 pt-3 pl-2.5\",\n className\n )}\n {...props}\n >\n {!collapsed && (\n <span className=\"inline-block text-xs text-subtle pointer-coarse:text-[13px] pointer-coarse:font-medium pointer-coarse:tracking-wide\">\n {label}\n </span>\n )}\n </div>\n )\n}\n\nexport { SectionLabel }\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* The Work navbar's group label ("Library"): a rule above a small, quiet
|
|
6
|
+
* word, starting a new group in a list of rows. Touch steps the type up and
|
|
7
|
+
* the spacing out with the rows around it.
|
|
8
|
+
*/
|
|
9
|
+
declare function SectionLabel({ label, className, ...props }: Omit<React.ComponentProps<"div">, "children"> & {
|
|
10
|
+
label: React.ReactNode;
|
|
11
|
+
}): react_jsx_runtime.JSX.Element;
|
|
12
|
+
|
|
13
|
+
export { SectionLabel };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* The Work navbar's group label ("Library"): a rule above a small, quiet
|
|
6
|
+
* word, starting a new group in a list of rows. Touch steps the type up and
|
|
7
|
+
* the spacing out with the rows around it.
|
|
8
|
+
*/
|
|
9
|
+
declare function SectionLabel({ label, className, ...props }: Omit<React.ComponentProps<"div">, "children"> & {
|
|
10
|
+
label: React.ReactNode;
|
|
11
|
+
}): react_jsx_runtime.JSX.Element;
|
|
12
|
+
|
|
13
|
+
export { SectionLabel };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { useSidebar } from './chunk-L73QIINW.js';
|
|
2
|
+
import { cn } from './chunk-LZGII7SX.js';
|
|
3
|
+
import { jsx } from 'react/jsx-runtime';
|
|
4
|
+
|
|
5
|
+
function SectionLabel({
|
|
6
|
+
label,
|
|
7
|
+
className,
|
|
8
|
+
...props
|
|
9
|
+
}) {
|
|
10
|
+
const { collapsed } = useSidebar();
|
|
11
|
+
return /* @__PURE__ */ jsx(
|
|
12
|
+
"div",
|
|
13
|
+
{
|
|
14
|
+
"data-slot": "section-label",
|
|
15
|
+
className: cn(
|
|
16
|
+
"border-t border-line pointer-coarse:mt-3 pointer-coarse:mb-1 pointer-coarse:pt-4",
|
|
17
|
+
collapsed ? "my-1.5" : "mt-2 mb-0.5 pt-3 pl-2.5",
|
|
18
|
+
className
|
|
19
|
+
),
|
|
20
|
+
...props,
|
|
21
|
+
children: !collapsed && /* @__PURE__ */ jsx("span", { className: "inline-block text-xs text-subtle pointer-coarse:text-[13px] pointer-coarse:font-medium pointer-coarse:tracking-wide", children: label })
|
|
22
|
+
}
|
|
23
|
+
);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export { SectionLabel };
|
|
27
|
+
//# sourceMappingURL=section-label.js.map
|
|
28
|
+
//# sourceMappingURL=section-label.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/section-label.tsx"],"names":[],"mappings":";;;;AAUA,SAAS,YAAA,CAAa;AAAA,EACpB,KAAA;AAAA,EACA,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA+E;AAG7E,EAAA,MAAM,EAAE,SAAA,EAAU,GAAI,UAAA,EAAW;AAEjC,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,eAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,kFAAA;AAAA,QACA,YAAY,QAAA,GAAW,yBAAA;AAAA,QACvB;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEH,WAAC,SAAA,oBACA,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,uHACb,QAAA,EAAA,KAAA,EACH;AAAA;AAAA,GAEJ;AAEJ","file":"section-label.js","sourcesContent":["import * as React from \"react\"\n\nimport { cn } from \"./lib/utils\"\nimport { useSidebar } from \"./sidebar\"\n\n/**\n * The Work navbar's group label (\"Library\"): a rule above a small, quiet\n * word, starting a new group in a list of rows. Touch steps the type up and\n * the spacing out with the rows around it.\n */\nfunction SectionLabel({\n label,\n className,\n ...props\n}: Omit<React.ComponentProps<\"div\">, \"children\"> & { label: React.ReactNode }) {\n // In a collapsed sidebar rail there is no room for the word: the rule alone\n // still says \"a new group\".\n const { collapsed } = useSidebar()\n\n return (\n <div\n data-slot=\"section-label\"\n className={cn(\n \"border-t border-line pointer-coarse:mt-3 pointer-coarse:mb-1 pointer-coarse:pt-4\",\n collapsed ? \"my-1.5\" : \"mt-2 mb-0.5 pt-3 pl-2.5\",\n className\n )}\n {...props}\n >\n {!collapsed && (\n <span className=\"inline-block text-xs text-subtle pointer-coarse:text-[13px] pointer-coarse:font-medium pointer-coarse:tracking-wide\">\n {label}\n </span>\n )}\n </div>\n )\n}\n\nexport { SectionLabel }\n"]}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunk6YHDDRIM_cjs = require('./chunk-6YHDDRIM.cjs');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
|
|
7
|
+
function _interopNamespace(e) {
|
|
8
|
+
if (e && e.__esModule) return e;
|
|
9
|
+
var n = Object.create(null);
|
|
10
|
+
if (e) {
|
|
11
|
+
Object.keys(e).forEach(function (k) {
|
|
12
|
+
if (k !== 'default') {
|
|
13
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
14
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
get: function () { return e[k]; }
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
n.default = e;
|
|
22
|
+
return Object.freeze(n);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
26
|
+
|
|
27
|
+
function SegmentedControl({
|
|
28
|
+
segments,
|
|
29
|
+
value,
|
|
30
|
+
onChange,
|
|
31
|
+
className,
|
|
32
|
+
"aria-label": ariaLabel
|
|
33
|
+
}) {
|
|
34
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
35
|
+
"div",
|
|
36
|
+
{
|
|
37
|
+
role: "group",
|
|
38
|
+
"aria-label": ariaLabel,
|
|
39
|
+
"data-slot": "segmented-control",
|
|
40
|
+
className: chunk6YHDDRIM_cjs.cn(
|
|
41
|
+
"flex shrink-0 items-center gap-2 text-[13px]",
|
|
42
|
+
"pointer-coarse:w-full pointer-coarse:gap-1 pointer-coarse:rounded-full pointer-coarse:bg-foreground/[0.06] pointer-coarse:p-1 pointer-coarse:text-sm",
|
|
43
|
+
className
|
|
44
|
+
),
|
|
45
|
+
children: segments.map((segment, index) => {
|
|
46
|
+
const active = segment.value === value;
|
|
47
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(React__namespace.Fragment, { children: [
|
|
48
|
+
index > 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": true, className: "text-subtle pointer-coarse:hidden", children: "/" }),
|
|
49
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
50
|
+
"button",
|
|
51
|
+
{
|
|
52
|
+
type: "button",
|
|
53
|
+
"data-slot": "segmented-control-item",
|
|
54
|
+
"aria-label": segment.ariaLabel,
|
|
55
|
+
"aria-pressed": active,
|
|
56
|
+
onClick: () => {
|
|
57
|
+
if (!active) onChange(segment.value);
|
|
58
|
+
},
|
|
59
|
+
className: chunk6YHDDRIM_cjs.cn(
|
|
60
|
+
"cursor-pointer rounded-full border-none font-semibold transition-colors outline-none focus-visible:ring-2 focus-visible:ring-ring/40",
|
|
61
|
+
"pointer-coarse:inline-flex pointer-coarse:min-h-11 pointer-coarse:flex-1 pointer-coarse:items-center pointer-coarse:justify-center pointer-coarse:px-4",
|
|
62
|
+
active ? "bg-amber-400 px-3 py-1.25 text-stone-950 pointer-coarse:py-0" : "bg-transparent text-subtle hover:text-foreground pointer-coarse:text-muted-foreground pointer-coarse:active:bg-foreground/[0.06]"
|
|
63
|
+
),
|
|
64
|
+
children: segment.label
|
|
65
|
+
}
|
|
66
|
+
)
|
|
67
|
+
] }, segment.value);
|
|
68
|
+
})
|
|
69
|
+
}
|
|
70
|
+
);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
exports.SegmentedControl = SegmentedControl;
|
|
74
|
+
//# sourceMappingURL=segmented-control.cjs.map
|
|
75
|
+
//# sourceMappingURL=segmented-control.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/segmented-control.tsx"],"names":["jsx","cn","jsxs","React"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAqBA,SAAS,gBAAA,CAAmC;AAAA,EAC1C,QAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,YAAA,EAAc;AAChB,CAAA,EAMG;AACD,EAAA,uBACEA,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,IAAA,EAAK,OAAA;AAAA,MACL,YAAA,EAAY,SAAA;AAAA,MACZ,WAAA,EAAU,mBAAA;AAAA,MACV,SAAA,EAAWC,oBAAA;AAAA,QACT,8CAAA;AAAA,QACA,sJAAA;AAAA,QACA;AAAA,OACF;AAAA,MAEC,QAAA,EAAA,QAAA,CAAS,GAAA,CAAI,CAAC,OAAA,EAAS,KAAA,KAAU;AAChC,QAAA,MAAM,MAAA,GAAS,QAAQ,KAAA,KAAU,KAAA;AACjC,QAAA,uBACEC,eAAA,CAAOC,2BAAN,EACE,QAAA,EAAA;AAAA,UAAA,KAAA,GAAQ,qBACPH,cAAA,CAAC,MAAA,EAAA,EAAK,eAAa,IAAA,EAAM,SAAA,EAAU,qCAAoC,QAAA,EAAA,GAAA,EAEvE,CAAA;AAAA,0BAEFA,cAAA;AAAA,YAAC,QAAA;AAAA,YAAA;AAAA,cACC,IAAA,EAAK,QAAA;AAAA,cACL,WAAA,EAAU,wBAAA;AAAA,cACV,cAAY,OAAA,CAAQ,SAAA;AAAA,cACpB,cAAA,EAAc,MAAA;AAAA,cACd,SAAS,MAAM;AACb,gBAAA,IAAI,CAAC,MAAA,EAAQ,QAAA,CAAS,OAAA,CAAQ,KAAK,CAAA;AAAA,cACrC,CAAA;AAAA,cACA,SAAA,EAAWC,oBAAA;AAAA,gBACT,sIAAA;AAAA,gBACA,wJAAA;AAAA,gBACA,SACI,8DAAA,GACA;AAAA,eACN;AAAA,cAEC,QAAA,EAAA,OAAA,CAAQ;AAAA;AAAA;AACX,SAAA,EAAA,EAvBmB,QAAQ,KAwB7B,CAAA;AAAA,MAEJ,CAAC;AAAA;AAAA,GACH;AAEJ","file":"segmented-control.cjs","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\n\nimport { cn } from \"./lib/utils\"\n\nexport interface Segment<T extends string> {\n value: T\n label: React.ReactNode\n /** Accessible name when the label alone is too terse (\"Dev\" → \"Dev workspace\"). */\n ariaLabel?: string\n}\n\n/**\n * The Work console's mode switch (its Work / Dev toggle), for any two or\n * three peers. With a mouse it is a line of 13px words split by slashes, the\n * picked one an amber pill; on touch it becomes a full-width segmented\n * control at the 44px floor, equal halves on a round track. Every segment is\n * a button: the picked one is inert but stays focusable and announces its\n * state, which a `<span>` cannot.\n */\nfunction SegmentedControl<T extends string>({\n segments,\n value,\n onChange,\n className,\n \"aria-label\": ariaLabel,\n}: {\n segments: readonly Segment<T>[]\n value: T\n onChange: (value: T) => void\n className?: string\n \"aria-label\"?: string\n}) {\n return (\n <div\n role=\"group\"\n aria-label={ariaLabel}\n data-slot=\"segmented-control\"\n className={cn(\n \"flex shrink-0 items-center gap-2 text-[13px]\",\n \"pointer-coarse:w-full pointer-coarse:gap-1 pointer-coarse:rounded-full pointer-coarse:bg-foreground/[0.06] pointer-coarse:p-1 pointer-coarse:text-sm\",\n className\n )}\n >\n {segments.map((segment, index) => {\n const active = segment.value === value\n return (\n <React.Fragment key={segment.value}>\n {index > 0 && (\n <span aria-hidden={true} className=\"text-subtle pointer-coarse:hidden\">\n /\n </span>\n )}\n <button\n type=\"button\"\n data-slot=\"segmented-control-item\"\n aria-label={segment.ariaLabel}\n aria-pressed={active}\n onClick={() => {\n if (!active) onChange(segment.value)\n }}\n className={cn(\n \"cursor-pointer rounded-full border-none font-semibold transition-colors outline-none focus-visible:ring-2 focus-visible:ring-ring/40\",\n \"pointer-coarse:inline-flex pointer-coarse:min-h-11 pointer-coarse:flex-1 pointer-coarse:items-center pointer-coarse:justify-center pointer-coarse:px-4\",\n active\n ? \"bg-amber-400 px-3 py-1.25 text-stone-950 pointer-coarse:py-0\"\n : \"bg-transparent text-subtle hover:text-foreground pointer-coarse:text-muted-foreground pointer-coarse:active:bg-foreground/[0.06]\"\n )}\n >\n {segment.label}\n </button>\n </React.Fragment>\n )\n })}\n </div>\n )\n}\n\nexport { SegmentedControl }\n"]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
|
|
4
|
+
interface Segment<T extends string> {
|
|
5
|
+
value: T;
|
|
6
|
+
label: React.ReactNode;
|
|
7
|
+
/** Accessible name when the label alone is too terse ("Dev" → "Dev workspace"). */
|
|
8
|
+
ariaLabel?: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* The Work console's mode switch (its Work / Dev toggle), for any two or
|
|
12
|
+
* three peers. With a mouse it is a line of 13px words split by slashes, the
|
|
13
|
+
* picked one an amber pill; on touch it becomes a full-width segmented
|
|
14
|
+
* control at the 44px floor, equal halves on a round track. Every segment is
|
|
15
|
+
* a button: the picked one is inert but stays focusable and announces its
|
|
16
|
+
* state, which a `<span>` cannot.
|
|
17
|
+
*/
|
|
18
|
+
declare function SegmentedControl<T extends string>({ segments, value, onChange, className, "aria-label": ariaLabel, }: {
|
|
19
|
+
segments: readonly Segment<T>[];
|
|
20
|
+
value: T;
|
|
21
|
+
onChange: (value: T) => void;
|
|
22
|
+
className?: string;
|
|
23
|
+
"aria-label"?: string;
|
|
24
|
+
}): react_jsx_runtime.JSX.Element;
|
|
25
|
+
|
|
26
|
+
export { type Segment, SegmentedControl };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
|
|
4
|
+
interface Segment<T extends string> {
|
|
5
|
+
value: T;
|
|
6
|
+
label: React.ReactNode;
|
|
7
|
+
/** Accessible name when the label alone is too terse ("Dev" → "Dev workspace"). */
|
|
8
|
+
ariaLabel?: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* The Work console's mode switch (its Work / Dev toggle), for any two or
|
|
12
|
+
* three peers. With a mouse it is a line of 13px words split by slashes, the
|
|
13
|
+
* picked one an amber pill; on touch it becomes a full-width segmented
|
|
14
|
+
* control at the 44px floor, equal halves on a round track. Every segment is
|
|
15
|
+
* a button: the picked one is inert but stays focusable and announces its
|
|
16
|
+
* state, which a `<span>` cannot.
|
|
17
|
+
*/
|
|
18
|
+
declare function SegmentedControl<T extends string>({ segments, value, onChange, className, "aria-label": ariaLabel, }: {
|
|
19
|
+
segments: readonly Segment<T>[];
|
|
20
|
+
value: T;
|
|
21
|
+
onChange: (value: T) => void;
|
|
22
|
+
className?: string;
|
|
23
|
+
"aria-label"?: string;
|
|
24
|
+
}): react_jsx_runtime.JSX.Element;
|
|
25
|
+
|
|
26
|
+
export { type Segment, SegmentedControl };
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { cn } from './chunk-LZGII7SX.js';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
4
|
+
|
|
5
|
+
function SegmentedControl({
|
|
6
|
+
segments,
|
|
7
|
+
value,
|
|
8
|
+
onChange,
|
|
9
|
+
className,
|
|
10
|
+
"aria-label": ariaLabel
|
|
11
|
+
}) {
|
|
12
|
+
return /* @__PURE__ */ jsx(
|
|
13
|
+
"div",
|
|
14
|
+
{
|
|
15
|
+
role: "group",
|
|
16
|
+
"aria-label": ariaLabel,
|
|
17
|
+
"data-slot": "segmented-control",
|
|
18
|
+
className: cn(
|
|
19
|
+
"flex shrink-0 items-center gap-2 text-[13px]",
|
|
20
|
+
"pointer-coarse:w-full pointer-coarse:gap-1 pointer-coarse:rounded-full pointer-coarse:bg-foreground/[0.06] pointer-coarse:p-1 pointer-coarse:text-sm",
|
|
21
|
+
className
|
|
22
|
+
),
|
|
23
|
+
children: segments.map((segment, index) => {
|
|
24
|
+
const active = segment.value === value;
|
|
25
|
+
return /* @__PURE__ */ jsxs(React.Fragment, { children: [
|
|
26
|
+
index > 0 && /* @__PURE__ */ jsx("span", { "aria-hidden": true, className: "text-subtle pointer-coarse:hidden", children: "/" }),
|
|
27
|
+
/* @__PURE__ */ jsx(
|
|
28
|
+
"button",
|
|
29
|
+
{
|
|
30
|
+
type: "button",
|
|
31
|
+
"data-slot": "segmented-control-item",
|
|
32
|
+
"aria-label": segment.ariaLabel,
|
|
33
|
+
"aria-pressed": active,
|
|
34
|
+
onClick: () => {
|
|
35
|
+
if (!active) onChange(segment.value);
|
|
36
|
+
},
|
|
37
|
+
className: cn(
|
|
38
|
+
"cursor-pointer rounded-full border-none font-semibold transition-colors outline-none focus-visible:ring-2 focus-visible:ring-ring/40",
|
|
39
|
+
"pointer-coarse:inline-flex pointer-coarse:min-h-11 pointer-coarse:flex-1 pointer-coarse:items-center pointer-coarse:justify-center pointer-coarse:px-4",
|
|
40
|
+
active ? "bg-amber-400 px-3 py-1.25 text-stone-950 pointer-coarse:py-0" : "bg-transparent text-subtle hover:text-foreground pointer-coarse:text-muted-foreground pointer-coarse:active:bg-foreground/[0.06]"
|
|
41
|
+
),
|
|
42
|
+
children: segment.label
|
|
43
|
+
}
|
|
44
|
+
)
|
|
45
|
+
] }, segment.value);
|
|
46
|
+
})
|
|
47
|
+
}
|
|
48
|
+
);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export { SegmentedControl };
|
|
52
|
+
//# sourceMappingURL=segmented-control.js.map
|
|
53
|
+
//# sourceMappingURL=segmented-control.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/segmented-control.tsx"],"names":[],"mappings":";;;;AAqBA,SAAS,gBAAA,CAAmC;AAAA,EAC1C,QAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,YAAA,EAAc;AAChB,CAAA,EAMG;AACD,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,IAAA,EAAK,OAAA;AAAA,MACL,YAAA,EAAY,SAAA;AAAA,MACZ,WAAA,EAAU,mBAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,8CAAA;AAAA,QACA,sJAAA;AAAA,QACA;AAAA,OACF;AAAA,MAEC,QAAA,EAAA,QAAA,CAAS,GAAA,CAAI,CAAC,OAAA,EAAS,KAAA,KAAU;AAChC,QAAA,MAAM,MAAA,GAAS,QAAQ,KAAA,KAAU,KAAA;AACjC,QAAA,uBACE,IAAA,CAAO,gBAAN,EACE,QAAA,EAAA;AAAA,UAAA,KAAA,GAAQ,qBACP,GAAA,CAAC,MAAA,EAAA,EAAK,eAAa,IAAA,EAAM,SAAA,EAAU,qCAAoC,QAAA,EAAA,GAAA,EAEvE,CAAA;AAAA,0BAEF,GAAA;AAAA,YAAC,QAAA;AAAA,YAAA;AAAA,cACC,IAAA,EAAK,QAAA;AAAA,cACL,WAAA,EAAU,wBAAA;AAAA,cACV,cAAY,OAAA,CAAQ,SAAA;AAAA,cACpB,cAAA,EAAc,MAAA;AAAA,cACd,SAAS,MAAM;AACb,gBAAA,IAAI,CAAC,MAAA,EAAQ,QAAA,CAAS,OAAA,CAAQ,KAAK,CAAA;AAAA,cACrC,CAAA;AAAA,cACA,SAAA,EAAW,EAAA;AAAA,gBACT,sIAAA;AAAA,gBACA,wJAAA;AAAA,gBACA,SACI,8DAAA,GACA;AAAA,eACN;AAAA,cAEC,QAAA,EAAA,OAAA,CAAQ;AAAA;AAAA;AACX,SAAA,EAAA,EAvBmB,QAAQ,KAwB7B,CAAA;AAAA,MAEJ,CAAC;AAAA;AAAA,GACH;AAEJ","file":"segmented-control.js","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\n\nimport { cn } from \"./lib/utils\"\n\nexport interface Segment<T extends string> {\n value: T\n label: React.ReactNode\n /** Accessible name when the label alone is too terse (\"Dev\" → \"Dev workspace\"). */\n ariaLabel?: string\n}\n\n/**\n * The Work console's mode switch (its Work / Dev toggle), for any two or\n * three peers. With a mouse it is a line of 13px words split by slashes, the\n * picked one an amber pill; on touch it becomes a full-width segmented\n * control at the 44px floor, equal halves on a round track. Every segment is\n * a button: the picked one is inert but stays focusable and announces its\n * state, which a `<span>` cannot.\n */\nfunction SegmentedControl<T extends string>({\n segments,\n value,\n onChange,\n className,\n \"aria-label\": ariaLabel,\n}: {\n segments: readonly Segment<T>[]\n value: T\n onChange: (value: T) => void\n className?: string\n \"aria-label\"?: string\n}) {\n return (\n <div\n role=\"group\"\n aria-label={ariaLabel}\n data-slot=\"segmented-control\"\n className={cn(\n \"flex shrink-0 items-center gap-2 text-[13px]\",\n \"pointer-coarse:w-full pointer-coarse:gap-1 pointer-coarse:rounded-full pointer-coarse:bg-foreground/[0.06] pointer-coarse:p-1 pointer-coarse:text-sm\",\n className\n )}\n >\n {segments.map((segment, index) => {\n const active = segment.value === value\n return (\n <React.Fragment key={segment.value}>\n {index > 0 && (\n <span aria-hidden={true} className=\"text-subtle pointer-coarse:hidden\">\n /\n </span>\n )}\n <button\n type=\"button\"\n data-slot=\"segmented-control-item\"\n aria-label={segment.ariaLabel}\n aria-pressed={active}\n onClick={() => {\n if (!active) onChange(segment.value)\n }}\n className={cn(\n \"cursor-pointer rounded-full border-none font-semibold transition-colors outline-none focus-visible:ring-2 focus-visible:ring-ring/40\",\n \"pointer-coarse:inline-flex pointer-coarse:min-h-11 pointer-coarse:flex-1 pointer-coarse:items-center pointer-coarse:justify-center pointer-coarse:px-4\",\n active\n ? \"bg-amber-400 px-3 py-1.25 text-stone-950 pointer-coarse:py-0\"\n : \"bg-transparent text-subtle hover:text-foreground pointer-coarse:text-muted-foreground pointer-coarse:active:bg-foreground/[0.06]\"\n )}\n >\n {segment.label}\n </button>\n </React.Fragment>\n )\n })}\n </div>\n )\n}\n\nexport { SegmentedControl }\n"]}
|
package/dist/select.cjs
ADDED
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunk6YHDDRIM_cjs = require('./chunk-6YHDDRIM.cjs');
|
|
4
|
+
var radixUi = require('radix-ui');
|
|
5
|
+
var lucideReact = require('lucide-react');
|
|
6
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
7
|
+
|
|
8
|
+
function Select({
|
|
9
|
+
...props
|
|
10
|
+
}) {
|
|
11
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Select.Root, { "data-slot": "select", ...props });
|
|
12
|
+
}
|
|
13
|
+
function SelectGroup({
|
|
14
|
+
className,
|
|
15
|
+
...props
|
|
16
|
+
}) {
|
|
17
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
18
|
+
radixUi.Select.Group,
|
|
19
|
+
{
|
|
20
|
+
"data-slot": "select-group",
|
|
21
|
+
className: chunk6YHDDRIM_cjs.cn("scroll-my-1", className),
|
|
22
|
+
...props
|
|
23
|
+
}
|
|
24
|
+
);
|
|
25
|
+
}
|
|
26
|
+
function SelectValue({
|
|
27
|
+
...props
|
|
28
|
+
}) {
|
|
29
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Select.Value, { "data-slot": "select-value", ...props });
|
|
30
|
+
}
|
|
31
|
+
function SelectTrigger({
|
|
32
|
+
className,
|
|
33
|
+
size = "default",
|
|
34
|
+
children,
|
|
35
|
+
...props
|
|
36
|
+
}) {
|
|
37
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
38
|
+
radixUi.Select.Trigger,
|
|
39
|
+
{
|
|
40
|
+
"data-slot": "select-trigger",
|
|
41
|
+
"data-size": size,
|
|
42
|
+
className: chunk6YHDDRIM_cjs.cn(
|
|
43
|
+
"flex w-fit items-center justify-between gap-1.5 rounded-[10px] border border-foreground/10 bg-foreground/[0.04] px-3.5 py-2 text-sm whitespace-nowrap transition-colors outline-none focus-visible:border-foreground/20 focus-visible:bg-foreground/[0.06] disabled:cursor-not-allowed disabled:opacity-70 aria-invalid:border-destructive data-placeholder:text-muted-foreground/50 data-[size=default]:h-10 data-[size=sm]:h-9 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 dark:aria-invalid:border-destructive/50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-3.5",
|
|
44
|
+
className
|
|
45
|
+
),
|
|
46
|
+
...props,
|
|
47
|
+
children: [
|
|
48
|
+
children,
|
|
49
|
+
/* @__PURE__ */ jsxRuntime.jsx(radixUi.Select.Icon, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDownIcon, { className: "pointer-events-none size-3.5 text-muted-foreground" }) })
|
|
50
|
+
]
|
|
51
|
+
}
|
|
52
|
+
);
|
|
53
|
+
}
|
|
54
|
+
function SelectContent({
|
|
55
|
+
className,
|
|
56
|
+
children,
|
|
57
|
+
position = "item-aligned",
|
|
58
|
+
align = "center",
|
|
59
|
+
...props
|
|
60
|
+
}) {
|
|
61
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Select.Portal, { children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
62
|
+
radixUi.Select.Content,
|
|
63
|
+
{
|
|
64
|
+
"data-slot": "select-content",
|
|
65
|
+
"data-align-trigger": position === "item-aligned",
|
|
66
|
+
className: chunk6YHDDRIM_cjs.cn("relative z-50 max-h-(--radix-select-content-available-height) min-w-36 origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-[8px] border border-foreground/10 bg-card p-1 text-popover-foreground shadow-[0px_10px_24px_0px_rgba(0,0,0,0.12)] dark:shadow-[0px_10px_24px_0px_rgba(0,0,0,0.5)] duration-100 data-[align-trigger=true]:animate-none 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-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", position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1", className),
|
|
67
|
+
position,
|
|
68
|
+
align,
|
|
69
|
+
...props,
|
|
70
|
+
children: [
|
|
71
|
+
/* @__PURE__ */ jsxRuntime.jsx(SelectScrollUpButton, {}),
|
|
72
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
73
|
+
radixUi.Select.Viewport,
|
|
74
|
+
{
|
|
75
|
+
"data-position": position,
|
|
76
|
+
className: chunk6YHDDRIM_cjs.cn(
|
|
77
|
+
"data-[position=popper]:h-(--radix-select-trigger-height) data-[position=popper]:w-full data-[position=popper]:min-w-(--radix-select-trigger-width)",
|
|
78
|
+
position === "popper" && ""
|
|
79
|
+
),
|
|
80
|
+
children
|
|
81
|
+
}
|
|
82
|
+
),
|
|
83
|
+
/* @__PURE__ */ jsxRuntime.jsx(SelectScrollDownButton, {})
|
|
84
|
+
]
|
|
85
|
+
}
|
|
86
|
+
) });
|
|
87
|
+
}
|
|
88
|
+
function SelectLabel({
|
|
89
|
+
className,
|
|
90
|
+
...props
|
|
91
|
+
}) {
|
|
92
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
93
|
+
radixUi.Select.Label,
|
|
94
|
+
{
|
|
95
|
+
"data-slot": "select-label",
|
|
96
|
+
className: chunk6YHDDRIM_cjs.cn(
|
|
97
|
+
"px-3 pt-2 pb-1 text-[11.5px] font-medium text-muted-foreground/80",
|
|
98
|
+
className
|
|
99
|
+
),
|
|
100
|
+
...props
|
|
101
|
+
}
|
|
102
|
+
);
|
|
103
|
+
}
|
|
104
|
+
function SelectItem({
|
|
105
|
+
className,
|
|
106
|
+
children,
|
|
107
|
+
...props
|
|
108
|
+
}) {
|
|
109
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
110
|
+
radixUi.Select.Item,
|
|
111
|
+
{
|
|
112
|
+
"data-slot": "select-item",
|
|
113
|
+
className: chunk6YHDDRIM_cjs.cn(
|
|
114
|
+
"relative flex min-h-11 w-full cursor-default items-center gap-2 rounded-[6px] py-[9px] pr-8 pl-3 text-[13px] text-muted-foreground outline-hidden select-none pointer-fine:min-h-0 focus:bg-foreground/[0.06] focus:text-foreground data-[state=checked]:bg-amber-500/10 data-[state=checked]:font-medium data-[state=checked]:text-amber-500 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-3.5 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",
|
|
115
|
+
className
|
|
116
|
+
),
|
|
117
|
+
...props,
|
|
118
|
+
children: [
|
|
119
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "pointer-events-none absolute right-2 flex size-4 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(radixUi.Select.ItemIndicator, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CheckIcon, { className: "pointer-events-none" }) }) }),
|
|
120
|
+
/* @__PURE__ */ jsxRuntime.jsx(radixUi.Select.ItemText, { children })
|
|
121
|
+
]
|
|
122
|
+
}
|
|
123
|
+
);
|
|
124
|
+
}
|
|
125
|
+
function SelectSeparator({
|
|
126
|
+
className,
|
|
127
|
+
...props
|
|
128
|
+
}) {
|
|
129
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
130
|
+
radixUi.Select.Separator,
|
|
131
|
+
{
|
|
132
|
+
"data-slot": "select-separator",
|
|
133
|
+
className: chunk6YHDDRIM_cjs.cn(
|
|
134
|
+
"pointer-events-none -mx-1 my-1 h-px bg-foreground/[0.06]",
|
|
135
|
+
className
|
|
136
|
+
),
|
|
137
|
+
...props
|
|
138
|
+
}
|
|
139
|
+
);
|
|
140
|
+
}
|
|
141
|
+
function SelectScrollUpButton({
|
|
142
|
+
className,
|
|
143
|
+
...props
|
|
144
|
+
}) {
|
|
145
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
146
|
+
radixUi.Select.ScrollUpButton,
|
|
147
|
+
{
|
|
148
|
+
"data-slot": "select-scroll-up-button",
|
|
149
|
+
className: chunk6YHDDRIM_cjs.cn(
|
|
150
|
+
"z-10 flex cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-3.5",
|
|
151
|
+
className
|
|
152
|
+
),
|
|
153
|
+
...props,
|
|
154
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
155
|
+
lucideReact.ChevronUpIcon,
|
|
156
|
+
{}
|
|
157
|
+
)
|
|
158
|
+
}
|
|
159
|
+
);
|
|
160
|
+
}
|
|
161
|
+
function SelectScrollDownButton({
|
|
162
|
+
className,
|
|
163
|
+
...props
|
|
164
|
+
}) {
|
|
165
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
166
|
+
radixUi.Select.ScrollDownButton,
|
|
167
|
+
{
|
|
168
|
+
"data-slot": "select-scroll-down-button",
|
|
169
|
+
className: chunk6YHDDRIM_cjs.cn(
|
|
170
|
+
"z-10 flex cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-3.5",
|
|
171
|
+
className
|
|
172
|
+
),
|
|
173
|
+
...props,
|
|
174
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
175
|
+
lucideReact.ChevronDownIcon,
|
|
176
|
+
{}
|
|
177
|
+
)
|
|
178
|
+
}
|
|
179
|
+
);
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
exports.Select = Select;
|
|
183
|
+
exports.SelectContent = SelectContent;
|
|
184
|
+
exports.SelectGroup = SelectGroup;
|
|
185
|
+
exports.SelectItem = SelectItem;
|
|
186
|
+
exports.SelectLabel = SelectLabel;
|
|
187
|
+
exports.SelectScrollDownButton = SelectScrollDownButton;
|
|
188
|
+
exports.SelectScrollUpButton = SelectScrollUpButton;
|
|
189
|
+
exports.SelectSeparator = SelectSeparator;
|
|
190
|
+
exports.SelectTrigger = SelectTrigger;
|
|
191
|
+
exports.SelectValue = SelectValue;
|
|
192
|
+
//# sourceMappingURL=select.cjs.map
|
|
193
|
+
//# sourceMappingURL=select.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/select.tsx"],"names":["SelectPrimitive","jsx","cn","jsxs","ChevronDownIcon","CheckIcon","ChevronUpIcon"],"mappings":"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","file":"select.cjs","sourcesContent":["import * as React from \"react\"\nimport { Select as SelectPrimitive } from \"radix-ui\"\n\nimport { cn } from \"./lib/utils\"\nimport { ChevronDownIcon, CheckIcon, ChevronUpIcon } from \"lucide-react\"\n\nfunction Select({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Root>) {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />\n}\n\nfunction SelectGroup({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Group>) {\n return (\n <SelectPrimitive.Group\n data-slot=\"select-group\"\n className={cn(\"scroll-my-1\", className)}\n {...props}\n />\n )\n}\n\nfunction SelectValue({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Value>) {\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} />\n}\n\nfunction SelectTrigger({\n className,\n size = \"default\",\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger> & {\n size?: \"sm\" | \"default\"\n}) {\n return (\n <SelectPrimitive.Trigger\n data-slot=\"select-trigger\"\n data-size={size}\n className={cn(\n \"flex w-fit items-center justify-between gap-1.5 rounded-[10px] border border-foreground/10 bg-foreground/[0.04] px-3.5 py-2 text-sm whitespace-nowrap transition-colors outline-none focus-visible:border-foreground/20 focus-visible:bg-foreground/[0.06] disabled:cursor-not-allowed disabled:opacity-70 aria-invalid:border-destructive data-placeholder:text-muted-foreground/50 data-[size=default]:h-10 data-[size=sm]:h-9 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 dark:aria-invalid:border-destructive/50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-3.5\",\n className\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDownIcon className=\"pointer-events-none size-3.5 text-muted-foreground\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n )\n}\n\nfunction SelectContent({\n className,\n children,\n position = \"item-aligned\",\n align = \"center\",\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Content>) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n data-slot=\"select-content\"\n data-align-trigger={position === \"item-aligned\"}\n className={cn(\"relative z-50 max-h-(--radix-select-content-available-height) min-w-36 origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-[8px] border border-foreground/10 bg-card p-1 text-popover-foreground shadow-[0px_10px_24px_0px_rgba(0,0,0,0.12)] dark:shadow-[0px_10px_24px_0px_rgba(0,0,0,0.5)] duration-100 data-[align-trigger=true]:animate-none 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-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\", position === \"popper\" && \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\", className)}\n position={position}\n align={align}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n data-position={position}\n className={cn(\n \"data-[position=popper]:h-(--radix-select-trigger-height) data-[position=popper]:w-full data-[position=popper]:min-w-(--radix-select-trigger-width)\",\n position === \"popper\" && \"\"\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n )\n}\n\nfunction SelectLabel({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Label>) {\n return (\n <SelectPrimitive.Label\n data-slot=\"select-label\"\n className={cn(\n \"px-3 pt-2 pb-1 text-[11.5px] font-medium text-muted-foreground/80\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction SelectItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Item>) {\n return (\n <SelectPrimitive.Item\n data-slot=\"select-item\"\n className={cn(\n \"relative flex min-h-11 w-full cursor-default items-center gap-2 rounded-[6px] py-[9px] pr-8 pl-3 text-[13px] text-muted-foreground outline-hidden select-none pointer-fine:min-h-0 focus:bg-foreground/[0.06] focus:text-foreground data-[state=checked]:bg-amber-500/10 data-[state=checked]:font-medium data-[state=checked]:text-amber-500 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-3.5 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2\",\n className\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute right-2 flex size-4 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <CheckIcon className=\"pointer-events-none\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n )\n}\n\nfunction SelectSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n return (\n <SelectPrimitive.Separator\n data-slot=\"select-separator\"\n className={cn(\n \"pointer-events-none -mx-1 my-1 h-px bg-foreground/[0.06]\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction SelectScrollUpButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n return (\n <SelectPrimitive.ScrollUpButton\n data-slot=\"select-scroll-up-button\"\n className={cn(\n \"z-10 flex cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-3.5\",\n className\n )}\n {...props}\n >\n <ChevronUpIcon\n />\n </SelectPrimitive.ScrollUpButton>\n )\n}\n\nfunction SelectScrollDownButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {\n return (\n <SelectPrimitive.ScrollDownButton\n data-slot=\"select-scroll-down-button\"\n className={cn(\n \"z-10 flex cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-3.5\",\n className\n )}\n {...props}\n >\n <ChevronDownIcon\n />\n </SelectPrimitive.ScrollDownButton>\n )\n}\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n}\n"]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { Select as Select$1 } from 'radix-ui';
|
|
4
|
+
|
|
5
|
+
declare function Select({ ...props }: React.ComponentProps<typeof Select$1.Root>): react_jsx_runtime.JSX.Element;
|
|
6
|
+
declare function SelectGroup({ className, ...props }: React.ComponentProps<typeof Select$1.Group>): react_jsx_runtime.JSX.Element;
|
|
7
|
+
declare function SelectValue({ ...props }: React.ComponentProps<typeof Select$1.Value>): react_jsx_runtime.JSX.Element;
|
|
8
|
+
declare function SelectTrigger({ className, size, children, ...props }: React.ComponentProps<typeof Select$1.Trigger> & {
|
|
9
|
+
size?: "sm" | "default";
|
|
10
|
+
}): react_jsx_runtime.JSX.Element;
|
|
11
|
+
declare function SelectContent({ className, children, position, align, ...props }: React.ComponentProps<typeof Select$1.Content>): react_jsx_runtime.JSX.Element;
|
|
12
|
+
declare function SelectLabel({ className, ...props }: React.ComponentProps<typeof Select$1.Label>): react_jsx_runtime.JSX.Element;
|
|
13
|
+
declare function SelectItem({ className, children, ...props }: React.ComponentProps<typeof Select$1.Item>): react_jsx_runtime.JSX.Element;
|
|
14
|
+
declare function SelectSeparator({ className, ...props }: React.ComponentProps<typeof Select$1.Separator>): react_jsx_runtime.JSX.Element;
|
|
15
|
+
declare function SelectScrollUpButton({ className, ...props }: React.ComponentProps<typeof Select$1.ScrollUpButton>): react_jsx_runtime.JSX.Element;
|
|
16
|
+
declare function SelectScrollDownButton({ className, ...props }: React.ComponentProps<typeof Select$1.ScrollDownButton>): react_jsx_runtime.JSX.Element;
|
|
17
|
+
|
|
18
|
+
export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue };
|
package/dist/select.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { Select as Select$1 } from 'radix-ui';
|
|
4
|
+
|
|
5
|
+
declare function Select({ ...props }: React.ComponentProps<typeof Select$1.Root>): react_jsx_runtime.JSX.Element;
|
|
6
|
+
declare function SelectGroup({ className, ...props }: React.ComponentProps<typeof Select$1.Group>): react_jsx_runtime.JSX.Element;
|
|
7
|
+
declare function SelectValue({ ...props }: React.ComponentProps<typeof Select$1.Value>): react_jsx_runtime.JSX.Element;
|
|
8
|
+
declare function SelectTrigger({ className, size, children, ...props }: React.ComponentProps<typeof Select$1.Trigger> & {
|
|
9
|
+
size?: "sm" | "default";
|
|
10
|
+
}): react_jsx_runtime.JSX.Element;
|
|
11
|
+
declare function SelectContent({ className, children, position, align, ...props }: React.ComponentProps<typeof Select$1.Content>): react_jsx_runtime.JSX.Element;
|
|
12
|
+
declare function SelectLabel({ className, ...props }: React.ComponentProps<typeof Select$1.Label>): react_jsx_runtime.JSX.Element;
|
|
13
|
+
declare function SelectItem({ className, children, ...props }: React.ComponentProps<typeof Select$1.Item>): react_jsx_runtime.JSX.Element;
|
|
14
|
+
declare function SelectSeparator({ className, ...props }: React.ComponentProps<typeof Select$1.Separator>): react_jsx_runtime.JSX.Element;
|
|
15
|
+
declare function SelectScrollUpButton({ className, ...props }: React.ComponentProps<typeof Select$1.ScrollUpButton>): react_jsx_runtime.JSX.Element;
|
|
16
|
+
declare function SelectScrollDownButton({ className, ...props }: React.ComponentProps<typeof Select$1.ScrollDownButton>): react_jsx_runtime.JSX.Element;
|
|
17
|
+
|
|
18
|
+
export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue };
|