@kubetail/ui 0.3.2 → 2.0.0-rc2
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 +2 -1
- package/dist/elements/button.cjs +2 -0
- package/dist/elements/button.cjs.map +1 -0
- package/dist/elements/button.d.ts +18 -0
- package/dist/elements/button.js +36 -0
- package/dist/elements/button.js.map +1 -0
- package/dist/elements/button.stories.d.ts +32 -0
- package/dist/elements/calendar.cjs +2 -0
- package/dist/elements/calendar.cjs.map +1 -0
- package/dist/elements/calendar.d.ts +4 -0
- package/dist/elements/{Calendar.js → calendar.js} +4 -4
- package/dist/elements/calendar.js.map +1 -0
- package/dist/elements/calendar.stories.d.ts +17 -0
- package/dist/elements/calendar.test.d.ts +0 -0
- package/dist/elements/card.cjs +2 -0
- package/dist/elements/card.cjs.map +1 -0
- package/dist/elements/card.d.ts +8 -0
- package/dist/elements/card.js +57 -0
- package/dist/elements/card.js.map +1 -0
- package/dist/elements/card.stories.d.ts +15 -0
- package/dist/elements/checkbox.cjs +2 -0
- package/dist/elements/checkbox.cjs.map +1 -0
- package/dist/elements/checkbox.d.ts +3 -0
- package/dist/elements/checkbox.js +29 -0
- package/dist/elements/checkbox.js.map +1 -0
- package/dist/elements/checkbox.stories.d.ts +15 -0
- package/dist/elements/checkbox.test.d.ts +0 -0
- package/dist/elements/dropdown-menu.cjs +2 -0
- package/dist/elements/dropdown-menu.cjs.map +1 -0
- package/dist/elements/dropdown-menu.d.ts +25 -0
- package/dist/elements/dropdown-menu.js +196 -0
- package/dist/elements/dropdown-menu.js.map +1 -0
- package/dist/elements/dropdown-menu.stories.d.ts +16 -0
- package/dist/elements/dropdown-menu.test.d.ts +0 -0
- package/dist/elements/form.cjs +2 -0
- package/dist/elements/form.cjs.map +1 -0
- package/dist/elements/form.d.ts +23 -0
- package/dist/elements/form.js +83 -0
- package/dist/elements/form.js.map +1 -0
- package/dist/elements/form.stories.d.ts +16 -0
- package/dist/elements/form.test.d.ts +0 -0
- package/dist/elements/input.cjs +2 -0
- package/dist/elements/input.cjs.map +1 -0
- package/dist/elements/input.d.ts +2 -0
- package/dist/elements/input.js +22 -0
- package/dist/elements/input.js.map +1 -0
- package/dist/elements/input.stories.d.ts +35 -0
- package/dist/elements/input.test.d.ts +0 -0
- package/dist/elements/label.cjs +2 -0
- package/dist/elements/label.cjs.map +1 -0
- package/dist/elements/label.d.ts +3 -0
- package/dist/elements/label.js +20 -0
- package/dist/elements/label.js.map +1 -0
- package/dist/elements/label.stories.d.ts +17 -0
- package/dist/elements/popover.cjs +2 -0
- package/dist/elements/popover.cjs.map +1 -0
- package/dist/elements/popover.d.ts +7 -0
- package/dist/elements/popover.js +41 -0
- package/dist/elements/popover.js.map +1 -0
- package/dist/elements/popover.stories.d.ts +17 -0
- package/dist/elements/popover.test.d.ts +0 -0
- package/dist/elements/select.cjs +2 -0
- package/dist/elements/select.cjs.map +1 -0
- package/dist/elements/select.d.ts +14 -0
- package/dist/elements/select.js +146 -0
- package/dist/elements/select.js.map +1 -0
- package/dist/elements/select.stories.d.ts +20 -0
- package/dist/elements/select.test.d.ts +0 -0
- package/dist/elements/spinner.cjs +2 -0
- package/dist/elements/spinner.cjs.map +1 -0
- package/dist/elements/spinner.d.ts +7 -0
- package/dist/elements/{Spinner.js → spinner.js} +5 -5
- package/dist/elements/spinner.js.map +1 -0
- package/dist/elements/{Spinner.stories.d.ts → spinner.stories.d.ts} +1 -1
- package/dist/elements/table.cjs +2 -0
- package/dist/elements/table.cjs.map +1 -0
- package/dist/elements/table.d.ts +9 -0
- package/dist/elements/table.js +71 -0
- package/dist/elements/table.js.map +1 -0
- package/dist/elements/table.stories.d.ts +17 -0
- package/dist/elements/tabs.cjs +2 -0
- package/dist/elements/tabs.cjs.map +1 -0
- package/dist/elements/tabs.d.ts +6 -0
- package/dist/elements/tabs.js +42 -0
- package/dist/elements/tabs.js.map +1 -0
- package/dist/elements/tabs.stories.d.ts +18 -0
- package/dist/index.css +216 -90
- package/package.json +20 -11
- package/dist/elements/Alert.cjs +0 -2
- package/dist/elements/Alert.cjs.map +0 -1
- package/dist/elements/Alert.d.ts +0 -9
- package/dist/elements/Alert.js +0 -13
- package/dist/elements/Alert.js.map +0 -1
- package/dist/elements/Alert.stories.d.ts +0 -11
- package/dist/elements/Button.cjs +0 -2
- package/dist/elements/Button.cjs.map +0 -1
- package/dist/elements/Button.d.ts +0 -9
- package/dist/elements/Button.js +0 -44
- package/dist/elements/Button.js.map +0 -1
- package/dist/elements/Button.stories.d.ts +0 -15
- package/dist/elements/Calendar.cjs +0 -2
- package/dist/elements/Calendar.cjs.map +0 -1
- package/dist/elements/Calendar.d.ts +0 -3
- package/dist/elements/Calendar.js.map +0 -1
- package/dist/elements/Calendar.stories.d.ts +0 -10
- package/dist/elements/Container.cjs +0 -2
- package/dist/elements/Container.cjs.map +0 -1
- package/dist/elements/Container.d.ts +0 -8
- package/dist/elements/Container.js +0 -7
- package/dist/elements/Container.js.map +0 -1
- package/dist/elements/Container.stories.d.ts +0 -14
- package/dist/elements/DataTable/Body.cjs +0 -2
- package/dist/elements/DataTable/Body.cjs.map +0 -1
- package/dist/elements/DataTable/Body.d.ts +0 -6
- package/dist/elements/DataTable/Body.js +0 -8
- package/dist/elements/DataTable/Body.js.map +0 -1
- package/dist/elements/DataTable/DataCell.cjs +0 -2
- package/dist/elements/DataTable/DataCell.cjs.map +0 -1
- package/dist/elements/DataTable/DataCell.d.ts +0 -6
- package/dist/elements/DataTable/DataCell.js +0 -19
- package/dist/elements/DataTable/DataCell.js.map +0 -1
- package/dist/elements/DataTable/Header.cjs +0 -2
- package/dist/elements/DataTable/Header.cjs.map +0 -1
- package/dist/elements/DataTable/Header.d.ts +0 -20
- package/dist/elements/DataTable/Header.js +0 -23
- package/dist/elements/DataTable/Header.js.map +0 -1
- package/dist/elements/DataTable/HeaderCell.cjs +0 -2
- package/dist/elements/DataTable/HeaderCell.cjs.map +0 -1
- package/dist/elements/DataTable/HeaderCell.d.ts +0 -10
- package/dist/elements/DataTable/HeaderCell.js +0 -45
- package/dist/elements/DataTable/HeaderCell.js.map +0 -1
- package/dist/elements/DataTable/Row.cjs +0 -2
- package/dist/elements/DataTable/Row.cjs.map +0 -1
- package/dist/elements/DataTable/Row.d.ts +0 -6
- package/dist/elements/DataTable/Row.js +0 -7
- package/dist/elements/DataTable/Row.js.map +0 -1
- package/dist/elements/DataTable/index.cjs +0 -2
- package/dist/elements/DataTable/index.cjs.map +0 -1
- package/dist/elements/DataTable/index.d.ts +0 -25
- package/dist/elements/DataTable/index.js +0 -31
- package/dist/elements/DataTable/index.js.map +0 -1
- package/dist/elements/DataTable/shared.cjs +0 -2
- package/dist/elements/DataTable/shared.cjs.map +0 -1
- package/dist/elements/DataTable/shared.d.ts +0 -6
- package/dist/elements/DataTable/shared.js +0 -8
- package/dist/elements/DataTable/shared.js.map +0 -1
- package/dist/elements/DataTable.stories.d.ts +0 -11
- package/dist/elements/DropdownMenu.cjs +0 -2
- package/dist/elements/DropdownMenu.cjs.map +0 -1
- package/dist/elements/DropdownMenu.d.ts +0 -26
- package/dist/elements/DropdownMenu.js +0 -125
- package/dist/elements/DropdownMenu.js.map +0 -1
- package/dist/elements/DropdownMenu.stories.d.ts +0 -9
- package/dist/elements/Form.cjs +0 -2
- package/dist/elements/Form.cjs.map +0 -1
- package/dist/elements/Form.d.ts +0 -22
- package/dist/elements/Form.js +0 -29
- package/dist/elements/Form.js.map +0 -1
- package/dist/elements/Form.stories.d.ts +0 -11
- package/dist/elements/FormCheck.cjs +0 -2
- package/dist/elements/FormCheck.cjs.map +0 -1
- package/dist/elements/FormCheck.d.ts +0 -7
- package/dist/elements/FormCheck.js +0 -17
- package/dist/elements/FormCheck.js.map +0 -1
- package/dist/elements/FormCheck.stories.d.ts +0 -14
- package/dist/elements/FormControl.cjs +0 -2
- package/dist/elements/FormControl.cjs.map +0 -1
- package/dist/elements/FormControl.d.ts +0 -12
- package/dist/elements/FormControl.js +0 -19
- package/dist/elements/FormControl.js.map +0 -1
- package/dist/elements/FormControlFeedback.cjs +0 -2
- package/dist/elements/FormControlFeedback.cjs.map +0 -1
- package/dist/elements/FormControlFeedback.d.ts +0 -8
- package/dist/elements/FormControlFeedback.js +0 -8
- package/dist/elements/FormControlFeedback.js.map +0 -1
- package/dist/elements/FormControlFeedback.test.d.ts +0 -1
- package/dist/elements/FormFeedback.cjs +0 -2
- package/dist/elements/FormFeedback.cjs.map +0 -1
- package/dist/elements/FormFeedback.d.ts +0 -8
- package/dist/elements/FormFeedback.js +0 -8
- package/dist/elements/FormFeedback.js.map +0 -1
- package/dist/elements/FormFeedback.test.d.ts +0 -1
- package/dist/elements/FormFieldset.cjs +0 -2
- package/dist/elements/FormFieldset.cjs.map +0 -1
- package/dist/elements/FormFieldset.d.ts +0 -2
- package/dist/elements/FormFieldset.js +0 -11
- package/dist/elements/FormFieldset.js.map +0 -1
- package/dist/elements/FormFieldset.test.d.ts +0 -1
- package/dist/elements/FormGroup.cjs +0 -2
- package/dist/elements/FormGroup.cjs.map +0 -1
- package/dist/elements/FormGroup.d.ts +0 -10
- package/dist/elements/FormGroup.js +0 -13
- package/dist/elements/FormGroup.js.map +0 -1
- package/dist/elements/FormGroup.test.d.ts +0 -1
- package/dist/elements/FormLabel.cjs +0 -2
- package/dist/elements/FormLabel.cjs.map +0 -1
- package/dist/elements/FormLabel.d.ts +0 -6
- package/dist/elements/FormLabel.js +0 -15
- package/dist/elements/FormLabel.js.map +0 -1
- package/dist/elements/FormLabel.test.d.ts +0 -1
- package/dist/elements/FormOption.cjs +0 -2
- package/dist/elements/FormOption.cjs.map +0 -1
- package/dist/elements/FormOption.d.ts +0 -2
- package/dist/elements/FormOption.js +0 -10
- package/dist/elements/FormOption.js.map +0 -1
- package/dist/elements/FormSelect.cjs +0 -2
- package/dist/elements/FormSelect.cjs.map +0 -1
- package/dist/elements/FormSelect.d.ts +0 -5
- package/dist/elements/FormSelect.js +0 -13
- package/dist/elements/FormSelect.js.map +0 -1
- package/dist/elements/Popover.cjs +0 -2
- package/dist/elements/Popover.cjs.map +0 -1
- package/dist/elements/Popover.d.ts +0 -7
- package/dist/elements/Popover.js +0 -26
- package/dist/elements/Popover.js.map +0 -1
- package/dist/elements/Popover.stories.d.ts +0 -9
- package/dist/elements/Spinner.cjs +0 -2
- package/dist/elements/Spinner.cjs.map +0 -1
- package/dist/elements/Spinner.d.ts +0 -7
- package/dist/elements/Spinner.js.map +0 -1
- package/dist/elements/Tabs.cjs +0 -2
- package/dist/elements/Tabs.cjs.map +0 -1
- package/dist/elements/Tabs.d.ts +0 -6
- package/dist/elements/Tabs.js +0 -47
- package/dist/elements/Tabs.js.map +0 -1
- package/dist/elements/Tabs.stories.d.ts +0 -9
- /package/dist/elements/{Alert.test.d.ts → button.test.d.ts} +0 -0
- /package/dist/elements/{Button.test.d.ts → card.test.d.ts} +0 -0
- /package/dist/elements/{Container.test.d.ts → label.test.d.ts} +0 -0
- /package/dist/elements/{Form.test.d.ts → spinner.test.d.ts} +0 -0
- /package/dist/elements/{FormCheck.test.d.ts → table.test.d.ts} +0 -0
- /package/dist/elements/{FormControl.test.d.ts → tabs.test.d.ts} +0 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Popover } from './popover';
|
|
2
|
+
declare const meta: {
|
|
3
|
+
title: string;
|
|
4
|
+
tags: string[];
|
|
5
|
+
component: typeof Popover;
|
|
6
|
+
parameters: {
|
|
7
|
+
docs: {
|
|
8
|
+
description: {
|
|
9
|
+
component: string;
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
export default meta;
|
|
15
|
+
export declare const Demo: {
|
|
16
|
+
render: () => import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
};
|
|
File without changes
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),u=require("@radix-ui/react-select"),l=require("lucide-react"),n=require("../lib/utils.cjs");function p(e){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(a,r,o.get?o:{enumerable:!0,get:()=>e[r]})}}return a.default=e,Object.freeze(a)}const s=p(u);function m({...e}){return t.jsx(s.Root,{"data-slot":"select",...e})}function f({...e}){return t.jsx(s.Group,{"data-slot":"select-group",...e})}function g({...e}){return t.jsx(s.Value,{"data-slot":"select-value",...e})}function x({className:e,size:a="default",children:r,asChild:o=!1,...i}){return o?t.jsx(s.Trigger,{...i,asChild:!0,children:r}):t.jsxs(s.Trigger,{"data-slot":"select-trigger","data-size":a,className:n.cn("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...i,children:[r,t.jsx(s.Icon,{asChild:!0,children:t.jsx(l.ChevronDownIcon,{className:"size-4 opacity-50"})})]})}function c({className:e,...a}){return t.jsx(s.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:n.cn("flex cursor-default items-center justify-center py-1",e),...a,children:t.jsx(l.ChevronUpIcon,{className:"size-4"})})}function d({className:e,...a}){return t.jsx(s.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:n.cn("flex cursor-default items-center justify-center py-1",e),...a,children:t.jsx(l.ChevronDownIcon,{className:"size-4"})})}function v({className:e,children:a,position:r="popper",...o}){return t.jsx(s.Portal,{children:t.jsxs(s.Content,{"data-slot":"select-content",className:n.cn("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 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 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md",r==="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",e),position:r,...o,children:[t.jsx(c,{}),t.jsx(s.Viewport,{className:n.cn("p-1",r==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:a}),t.jsx(d,{})]})})}function b({className:e,...a}){return t.jsx(s.Label,{"data-slot":"select-label",className:n.cn("text-muted-foreground px-2 py-1.5 text-xs",e),...a})}function h({className:e,children:a,...r}){return t.jsxs(s.Item,{"data-slot":"select-item",className:n.cn("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e),...r,children:[t.jsx("span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:t.jsx(s.ItemIndicator,{children:t.jsx(l.CheckIcon,{className:"size-4"})})}),t.jsx(s.ItemText,{children:a})]})}function S({className:e,...a}){return t.jsx(s.Separator,{"data-slot":"select-separator",className:n.cn("bg-border pointer-events-none -mx-1 my-1 h-px",e),...a})}exports.Select=m;exports.SelectContent=v;exports.SelectGroup=f;exports.SelectItem=h;exports.SelectLabel=b;exports.SelectScrollDownButton=d;exports.SelectScrollUpButton=c;exports.SelectSeparator=S;exports.SelectTrigger=x;exports.SelectValue=g;
|
|
2
|
+
//# sourceMappingURL=select.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select.cjs","sources":["../../src/elements/select.tsx"],"sourcesContent":["'use client';\n\nimport * as SelectPrimitive from '@radix-ui/react-select';\nimport { CheckIcon, ChevronDownIcon, ChevronUpIcon } from 'lucide-react';\n\nimport { cn } from '@/lib/utils';\n\nfunction Select({ ...props }: React.ComponentProps<typeof SelectPrimitive.Root>) {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />;\n}\n\nfunction SelectGroup({ ...props }: React.ComponentProps<typeof SelectPrimitive.Group>) {\n return <SelectPrimitive.Group data-slot=\"select-group\" {...props} />;\n}\n\nfunction SelectValue({ ...props }: 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 asChild = false,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger> & {\n size?: 'sm' | 'default';\n}) {\n if (asChild) {\n return (\n <SelectPrimitive.Trigger {...props} asChild>\n {children}\n </SelectPrimitive.Trigger>\n );\n }\n\n return (\n <SelectPrimitive.Trigger\n data-slot=\"select-trigger\"\n data-size={size}\n className={cn(\n \"border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDownIcon className=\"size-4 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n );\n}\n\nfunction SelectScrollUpButton({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n return (\n <SelectPrimitive.ScrollUpButton\n data-slot=\"select-scroll-up-button\"\n className={cn('flex cursor-default items-center justify-center py-1', className)}\n {...props}\n >\n <ChevronUpIcon className=\"size-4\" />\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('flex cursor-default items-center justify-center py-1', className)}\n {...props}\n >\n <ChevronDownIcon className=\"size-4\" />\n </SelectPrimitive.ScrollDownButton>\n );\n}\n\nfunction SelectContent({\n className,\n children,\n position = 'popper',\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Content>) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n data-slot=\"select-content\"\n className={cn(\n 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 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 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md',\n position === 'popper' &&\n 'data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1',\n className,\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n 'p-1',\n position === 'popper' &&\n 'h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1',\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n );\n}\n\nfunction SelectLabel({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Label>) {\n return (\n <SelectPrimitive.Label\n data-slot=\"select-label\"\n className={cn('text-muted-foreground px-2 py-1.5 text-xs', className)}\n {...props}\n />\n );\n}\n\nfunction SelectItem({ className, children, ...props }: React.ComponentProps<typeof SelectPrimitive.Item>) {\n return (\n <SelectPrimitive.Item\n data-slot=\"select-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2\",\n className,\n )}\n {...props}\n >\n <span className=\"absolute right-2 flex size-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n );\n}\n\nfunction SelectSeparator({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n return (\n <SelectPrimitive.Separator\n data-slot=\"select-separator\"\n className={cn('bg-border pointer-events-none -mx-1 my-1 h-px', className)}\n {...props}\n />\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"],"names":["Select","props","SelectPrimitive","SelectGroup","SelectValue","SelectTrigger","className","size","children","asChild","jsx","jsxs","cn","ChevronDownIcon","SelectScrollUpButton","ChevronUpIcon","SelectScrollDownButton","SelectContent","position","SelectLabel","SelectItem","CheckIcon","SelectSeparator"],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as SelectPrimitive from '@radix-ui/react-select';
|
|
2
|
+
declare function Select({ ...props }: React.ComponentProps<typeof SelectPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
declare function SelectGroup({ ...props }: React.ComponentProps<typeof SelectPrimitive.Group>): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
declare function SelectValue({ ...props }: React.ComponentProps<typeof SelectPrimitive.Value>): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
declare function SelectTrigger({ className, size, children, asChild, ...props }: React.ComponentProps<typeof SelectPrimitive.Trigger> & {
|
|
6
|
+
size?: 'sm' | 'default';
|
|
7
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
declare function SelectScrollUpButton({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
declare function SelectScrollDownButton({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
declare function SelectContent({ className, children, position, ...props }: React.ComponentProps<typeof SelectPrimitive.Content>): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
declare function SelectLabel({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Label>): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
declare function SelectItem({ className, children, ...props }: React.ComponentProps<typeof SelectPrimitive.Item>): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
declare function SelectSeparator({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Separator>): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, };
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { jsx as e, jsxs as l } from "react/jsx-runtime";
|
|
2
|
+
import * as a from "@radix-ui/react-select";
|
|
3
|
+
import { CheckIcon as c, ChevronDownIcon as d, ChevronUpIcon as u } from "lucide-react";
|
|
4
|
+
import { cn as o } from "../lib/utils.js";
|
|
5
|
+
function x({ ...t }) {
|
|
6
|
+
return /* @__PURE__ */ e(a.Root, { "data-slot": "select", ...t });
|
|
7
|
+
}
|
|
8
|
+
function h({ ...t }) {
|
|
9
|
+
return /* @__PURE__ */ e(a.Group, { "data-slot": "select-group", ...t });
|
|
10
|
+
}
|
|
11
|
+
function b({ ...t }) {
|
|
12
|
+
return /* @__PURE__ */ e(a.Value, { "data-slot": "select-value", ...t });
|
|
13
|
+
}
|
|
14
|
+
function w({
|
|
15
|
+
className: t,
|
|
16
|
+
size: r = "default",
|
|
17
|
+
children: s,
|
|
18
|
+
asChild: n = !1,
|
|
19
|
+
...i
|
|
20
|
+
}) {
|
|
21
|
+
return n ? /* @__PURE__ */ e(a.Trigger, { ...i, asChild: !0, children: s }) : /* @__PURE__ */ l(
|
|
22
|
+
a.Trigger,
|
|
23
|
+
{
|
|
24
|
+
"data-slot": "select-trigger",
|
|
25
|
+
"data-size": r,
|
|
26
|
+
className: o(
|
|
27
|
+
"border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
28
|
+
t
|
|
29
|
+
),
|
|
30
|
+
...i,
|
|
31
|
+
children: [
|
|
32
|
+
s,
|
|
33
|
+
/* @__PURE__ */ e(a.Icon, { asChild: !0, children: /* @__PURE__ */ e(d, { className: "size-4 opacity-50" }) })
|
|
34
|
+
]
|
|
35
|
+
}
|
|
36
|
+
);
|
|
37
|
+
}
|
|
38
|
+
function p({ className: t, ...r }) {
|
|
39
|
+
return /* @__PURE__ */ e(
|
|
40
|
+
a.ScrollUpButton,
|
|
41
|
+
{
|
|
42
|
+
"data-slot": "select-scroll-up-button",
|
|
43
|
+
className: o("flex cursor-default items-center justify-center py-1", t),
|
|
44
|
+
...r,
|
|
45
|
+
children: /* @__PURE__ */ e(u, { className: "size-4" })
|
|
46
|
+
}
|
|
47
|
+
);
|
|
48
|
+
}
|
|
49
|
+
function m({
|
|
50
|
+
className: t,
|
|
51
|
+
...r
|
|
52
|
+
}) {
|
|
53
|
+
return /* @__PURE__ */ e(
|
|
54
|
+
a.ScrollDownButton,
|
|
55
|
+
{
|
|
56
|
+
"data-slot": "select-scroll-down-button",
|
|
57
|
+
className: o("flex cursor-default items-center justify-center py-1", t),
|
|
58
|
+
...r,
|
|
59
|
+
children: /* @__PURE__ */ e(d, { className: "size-4" })
|
|
60
|
+
}
|
|
61
|
+
);
|
|
62
|
+
}
|
|
63
|
+
function y({
|
|
64
|
+
className: t,
|
|
65
|
+
children: r,
|
|
66
|
+
position: s = "popper",
|
|
67
|
+
...n
|
|
68
|
+
}) {
|
|
69
|
+
return /* @__PURE__ */ e(a.Portal, { children: /* @__PURE__ */ l(
|
|
70
|
+
a.Content,
|
|
71
|
+
{
|
|
72
|
+
"data-slot": "select-content",
|
|
73
|
+
className: o(
|
|
74
|
+
"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 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 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md",
|
|
75
|
+
s === "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",
|
|
76
|
+
t
|
|
77
|
+
),
|
|
78
|
+
position: s,
|
|
79
|
+
...n,
|
|
80
|
+
children: [
|
|
81
|
+
/* @__PURE__ */ e(p, {}),
|
|
82
|
+
/* @__PURE__ */ e(
|
|
83
|
+
a.Viewport,
|
|
84
|
+
{
|
|
85
|
+
className: o(
|
|
86
|
+
"p-1",
|
|
87
|
+
s === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"
|
|
88
|
+
),
|
|
89
|
+
children: r
|
|
90
|
+
}
|
|
91
|
+
),
|
|
92
|
+
/* @__PURE__ */ e(m, {})
|
|
93
|
+
]
|
|
94
|
+
}
|
|
95
|
+
) });
|
|
96
|
+
}
|
|
97
|
+
function S({ className: t, ...r }) {
|
|
98
|
+
return /* @__PURE__ */ e(
|
|
99
|
+
a.Label,
|
|
100
|
+
{
|
|
101
|
+
"data-slot": "select-label",
|
|
102
|
+
className: o("text-muted-foreground px-2 py-1.5 text-xs", t),
|
|
103
|
+
...r
|
|
104
|
+
}
|
|
105
|
+
);
|
|
106
|
+
}
|
|
107
|
+
function z({ className: t, children: r, ...s }) {
|
|
108
|
+
return /* @__PURE__ */ l(
|
|
109
|
+
a.Item,
|
|
110
|
+
{
|
|
111
|
+
"data-slot": "select-item",
|
|
112
|
+
className: o(
|
|
113
|
+
"focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",
|
|
114
|
+
t
|
|
115
|
+
),
|
|
116
|
+
...s,
|
|
117
|
+
children: [
|
|
118
|
+
/* @__PURE__ */ e("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ e(a.ItemIndicator, { children: /* @__PURE__ */ e(c, { className: "size-4" }) }) }),
|
|
119
|
+
/* @__PURE__ */ e(a.ItemText, { children: r })
|
|
120
|
+
]
|
|
121
|
+
}
|
|
122
|
+
);
|
|
123
|
+
}
|
|
124
|
+
function N({ className: t, ...r }) {
|
|
125
|
+
return /* @__PURE__ */ e(
|
|
126
|
+
a.Separator,
|
|
127
|
+
{
|
|
128
|
+
"data-slot": "select-separator",
|
|
129
|
+
className: o("bg-border pointer-events-none -mx-1 my-1 h-px", t),
|
|
130
|
+
...r
|
|
131
|
+
}
|
|
132
|
+
);
|
|
133
|
+
}
|
|
134
|
+
export {
|
|
135
|
+
x as Select,
|
|
136
|
+
y as SelectContent,
|
|
137
|
+
h as SelectGroup,
|
|
138
|
+
z as SelectItem,
|
|
139
|
+
S as SelectLabel,
|
|
140
|
+
m as SelectScrollDownButton,
|
|
141
|
+
p as SelectScrollUpButton,
|
|
142
|
+
N as SelectSeparator,
|
|
143
|
+
w as SelectTrigger,
|
|
144
|
+
b as SelectValue
|
|
145
|
+
};
|
|
146
|
+
//# sourceMappingURL=select.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select.js","sources":["../../src/elements/select.tsx"],"sourcesContent":["'use client';\n\nimport * as SelectPrimitive from '@radix-ui/react-select';\nimport { CheckIcon, ChevronDownIcon, ChevronUpIcon } from 'lucide-react';\n\nimport { cn } from '@/lib/utils';\n\nfunction Select({ ...props }: React.ComponentProps<typeof SelectPrimitive.Root>) {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />;\n}\n\nfunction SelectGroup({ ...props }: React.ComponentProps<typeof SelectPrimitive.Group>) {\n return <SelectPrimitive.Group data-slot=\"select-group\" {...props} />;\n}\n\nfunction SelectValue({ ...props }: 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 asChild = false,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger> & {\n size?: 'sm' | 'default';\n}) {\n if (asChild) {\n return (\n <SelectPrimitive.Trigger {...props} asChild>\n {children}\n </SelectPrimitive.Trigger>\n );\n }\n\n return (\n <SelectPrimitive.Trigger\n data-slot=\"select-trigger\"\n data-size={size}\n className={cn(\n \"border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDownIcon className=\"size-4 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n );\n}\n\nfunction SelectScrollUpButton({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n return (\n <SelectPrimitive.ScrollUpButton\n data-slot=\"select-scroll-up-button\"\n className={cn('flex cursor-default items-center justify-center py-1', className)}\n {...props}\n >\n <ChevronUpIcon className=\"size-4\" />\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('flex cursor-default items-center justify-center py-1', className)}\n {...props}\n >\n <ChevronDownIcon className=\"size-4\" />\n </SelectPrimitive.ScrollDownButton>\n );\n}\n\nfunction SelectContent({\n className,\n children,\n position = 'popper',\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Content>) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n data-slot=\"select-content\"\n className={cn(\n 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 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 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md',\n position === 'popper' &&\n 'data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1',\n className,\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n 'p-1',\n position === 'popper' &&\n 'h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1',\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n );\n}\n\nfunction SelectLabel({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Label>) {\n return (\n <SelectPrimitive.Label\n data-slot=\"select-label\"\n className={cn('text-muted-foreground px-2 py-1.5 text-xs', className)}\n {...props}\n />\n );\n}\n\nfunction SelectItem({ className, children, ...props }: React.ComponentProps<typeof SelectPrimitive.Item>) {\n return (\n <SelectPrimitive.Item\n data-slot=\"select-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2\",\n className,\n )}\n {...props}\n >\n <span className=\"absolute right-2 flex size-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n );\n}\n\nfunction SelectSeparator({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n return (\n <SelectPrimitive.Separator\n data-slot=\"select-separator\"\n className={cn('bg-border pointer-events-none -mx-1 my-1 h-px', className)}\n {...props}\n />\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"],"names":["Select","props","SelectPrimitive","SelectGroup","SelectValue","SelectTrigger","className","size","children","asChild","jsx","jsxs","cn","ChevronDownIcon","SelectScrollUpButton","ChevronUpIcon","SelectScrollDownButton","SelectContent","position","SelectLabel","SelectItem","CheckIcon","SelectSeparator"],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Select } from './select';
|
|
2
|
+
declare const meta: {
|
|
3
|
+
title: string;
|
|
4
|
+
tags: string[];
|
|
5
|
+
component: typeof Select;
|
|
6
|
+
parameters: {
|
|
7
|
+
docs: {
|
|
8
|
+
description: {
|
|
9
|
+
component: string;
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
export default meta;
|
|
15
|
+
export declare const Demo: {
|
|
16
|
+
render: () => import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
};
|
|
18
|
+
export declare const AsChild: {
|
|
19
|
+
render: () => import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
};
|
|
File without changes
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),r=require("../lib/utils.cjs"),t="animate-spin mr-2 text-chrome-200 fill-chrome-500",i={xs:"w-4 h-4",sm:"w-6 h-6",md:"w-8 h-8",lg:"w-10 h-10"},l=({className:n,size:s="md"})=>e.jsxs("div",{role:"status",children:[e.jsxs("svg",{"aria-hidden":"true",className:r.cn(t,s&&i[s],n),viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[e.jsx("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),e.jsx("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})]}),e.jsx("span",{className:"sr-only",children:"Loading..."})]});exports.Spinner=l;
|
|
2
|
+
//# sourceMappingURL=spinner.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spinner.cjs","sources":["../../src/elements/spinner.tsx"],"sourcesContent":["// Copyright 2024-2025 Andres Morey\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { cn } from '@/lib/utils';\n\nconst baseCN = 'animate-spin mr-2 text-chrome-200 fill-chrome-500';\n\ntype SpinnerSize = 'xs' | 'sm' | 'md' | 'lg';\n\nconst sizeCNMap: Record<SpinnerSize, string> = {\n xs: 'w-4 h-4',\n sm: 'w-6 h-6',\n md: 'w-8 h-8',\n lg: 'w-10 h-10',\n};\n\ntype Props = {\n className?: string;\n size?: SpinnerSize;\n};\n\nexport const Spinner = ({ className, size = 'md' }: Props) => (\n <div role=\"status\">\n <svg\n aria-hidden=\"true\"\n className={cn(baseCN, size && sizeCNMap[size], className)}\n viewBox=\"0 0 100 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z\"\n fill=\"currentFill\"\n />\n </svg>\n <span className=\"sr-only\">Loading...</span>\n </div>\n);\n"],"names":["baseCN","sizeCNMap","Spinner","className","size","jsxs","cn","jsx"],"mappings":"mJAgBMA,EAAS,oDAITC,EAAyC,CAC7C,GAAI,UACJ,GAAI,UACJ,GAAI,UACJ,GAAI,WACN,EAOaC,EAAU,CAAC,CAAE,UAAAC,EAAW,KAAAC,EAAO,QAC1CC,EAAAA,KAAC,MAAA,CAAI,KAAK,SACR,SAAA,CAAAA,EAAAA,KAAC,MAAA,CACC,cAAY,OACZ,UAAWC,EAAAA,GAAGN,EAAQI,GAAQH,EAAUG,CAAI,EAAGD,CAAS,EACxD,QAAQ,cACR,KAAK,OACL,MAAM,6BAEN,SAAA,CAAAI,EAAAA,IAAC,OAAA,CACC,EAAE,+WACF,KAAK,cAAA,CAAA,EAEPA,EAAAA,IAAC,OAAA,CACC,EAAE,glBACF,KAAK,aAAA,CAAA,CACP,CAAA,CAAA,EAEFA,EAAAA,IAAC,OAAA,CAAK,UAAU,UAAU,SAAA,YAAA,CAAU,CAAA,CAAA,CACtC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsxs as s, jsx as C } from "react/jsx-runtime";
|
|
2
|
-
import { cn as
|
|
3
|
-
const
|
|
2
|
+
import { cn as n } from "../lib/utils.js";
|
|
3
|
+
const e = "animate-spin mr-2 text-chrome-200 fill-chrome-500", i = {
|
|
4
4
|
xs: "w-4 h-4",
|
|
5
5
|
sm: "w-6 h-6",
|
|
6
6
|
md: "w-8 h-8",
|
|
@@ -10,7 +10,7 @@ const n = "animate-spin mr-2 text-chrome-200 fill-chrome-500", t = {
|
|
|
10
10
|
"svg",
|
|
11
11
|
{
|
|
12
12
|
"aria-hidden": "true",
|
|
13
|
-
className: e
|
|
13
|
+
className: n(e, r && i[r], l),
|
|
14
14
|
viewBox: "0 0 100 101",
|
|
15
15
|
fill: "none",
|
|
16
16
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -35,6 +35,6 @@ const n = "animate-spin mr-2 text-chrome-200 fill-chrome-500", t = {
|
|
|
35
35
|
/* @__PURE__ */ C("span", { className: "sr-only", children: "Loading..." })
|
|
36
36
|
] });
|
|
37
37
|
export {
|
|
38
|
-
a as
|
|
38
|
+
a as Spinner
|
|
39
39
|
};
|
|
40
|
-
//# sourceMappingURL=
|
|
40
|
+
//# sourceMappingURL=spinner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spinner.js","sources":["../../src/elements/spinner.tsx"],"sourcesContent":["// Copyright 2024-2025 Andres Morey\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nimport { cn } from '@/lib/utils';\n\nconst baseCN = 'animate-spin mr-2 text-chrome-200 fill-chrome-500';\n\ntype SpinnerSize = 'xs' | 'sm' | 'md' | 'lg';\n\nconst sizeCNMap: Record<SpinnerSize, string> = {\n xs: 'w-4 h-4',\n sm: 'w-6 h-6',\n md: 'w-8 h-8',\n lg: 'w-10 h-10',\n};\n\ntype Props = {\n className?: string;\n size?: SpinnerSize;\n};\n\nexport const Spinner = ({ className, size = 'md' }: Props) => (\n <div role=\"status\">\n <svg\n aria-hidden=\"true\"\n className={cn(baseCN, size && sizeCNMap[size], className)}\n viewBox=\"0 0 100 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z\"\n fill=\"currentFill\"\n />\n </svg>\n <span className=\"sr-only\">Loading...</span>\n </div>\n);\n"],"names":["baseCN","sizeCNMap","Spinner","className","size","jsxs","cn","jsx"],"mappings":";;AAgBA,MAAMA,IAAS,qDAITC,IAAyC;AAAA,EAC7C,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN,GAOaC,IAAU,CAAC,EAAE,WAAAC,GAAW,MAAAC,IAAO,WAC1C,gBAAAC,EAAC,OAAA,EAAI,MAAK,UACR,UAAA;AAAA,EAAA,gBAAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,eAAY;AAAA,MACZ,WAAWC,EAAGN,GAAQI,KAAQH,EAAUG,CAAI,GAAGD,CAAS;AAAA,MACxD,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,MAEN,UAAA;AAAA,QAAA,gBAAAI;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,GAAE;AAAA,YACF,MAAK;AAAA,UAAA;AAAA,QAAA;AAAA,QAEP,gBAAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,GAAE;AAAA,YACF,MAAK;AAAA,UAAA;AAAA,QAAA;AAAA,MACP;AAAA,IAAA;AAAA,EAAA;AAAA,EAEF,gBAAAA,EAAC,QAAA,EAAK,WAAU,WAAU,UAAA,aAAA,CAAU;AAAA,EAAA,CACtC;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),l=require("../lib/utils.cjs");function o({className:e,...t}){return a.jsx("div",{"data-slot":"table-container",className:"relative w-full overflow-x-auto",children:a.jsx("table",{"data-slot":"table",className:l.cn("w-full caption-bottom text-sm",e),...t})})}function r({className:e,...t}){return a.jsx("thead",{"data-slot":"table-header",className:l.cn("[&_tr]:border-b",e),...t})}function n({className:e,...t}){return a.jsx("tbody",{"data-slot":"table-body",className:l.cn("[&_tr:last-child]:border-0",e),...t})}function s({className:e,...t}){return a.jsx("tfoot",{"data-slot":"table-footer",className:l.cn("bg-muted/50 border-t font-medium [&>tr]:last:border-b-0",e),...t})}function c({className:e,...t}){return a.jsx("tr",{"data-slot":"table-row",className:l.cn("hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",e),...t})}function b({className:e,...t}){return a.jsx("th",{"data-slot":"table-head",className:l.cn("text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...t})}function d({className:e,...t}){return a.jsx("td",{"data-slot":"table-cell",className:l.cn("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...t})}function i({className:e,...t}){return a.jsx("caption",{"data-slot":"table-caption",className:l.cn("text-muted-foreground mt-4 text-sm",e),...t})}exports.Table=o;exports.TableBody=n;exports.TableCaption=i;exports.TableCell=d;exports.TableFooter=s;exports.TableHead=b;exports.TableHeader=r;exports.TableRow=c;
|
|
2
|
+
//# sourceMappingURL=table.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table.cjs","sources":["../../src/elements/table.tsx"],"sourcesContent":["'use client';\n\nimport { cn } from '@/lib/utils';\n\nfunction Table({ className, ...props }: React.ComponentProps<'table'>) {\n return (\n <div data-slot=\"table-container\" className=\"relative w-full overflow-x-auto\">\n <table data-slot=\"table\" className={cn('w-full caption-bottom text-sm', className)} {...props} />\n </div>\n );\n}\n\nfunction TableHeader({ className, ...props }: React.ComponentProps<'thead'>) {\n return <thead data-slot=\"table-header\" className={cn('[&_tr]:border-b', className)} {...props} />;\n}\n\nfunction TableBody({ className, ...props }: React.ComponentProps<'tbody'>) {\n return <tbody data-slot=\"table-body\" className={cn('[&_tr:last-child]:border-0', className)} {...props} />;\n}\n\nfunction TableFooter({ className, ...props }: React.ComponentProps<'tfoot'>) {\n return (\n <tfoot\n data-slot=\"table-footer\"\n className={cn('bg-muted/50 border-t font-medium [&>tr]:last:border-b-0', className)}\n {...props}\n />\n );\n}\n\nfunction TableRow({ className, ...props }: React.ComponentProps<'tr'>) {\n return (\n <tr\n data-slot=\"table-row\"\n className={cn('hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors', className)}\n {...props}\n />\n );\n}\n\nfunction TableHead({ className, ...props }: React.ComponentProps<'th'>) {\n return (\n <th\n data-slot=\"table-head\"\n className={cn(\n 'text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction TableCell({ className, ...props }: React.ComponentProps<'td'>) {\n return (\n <td\n data-slot=\"table-cell\"\n className={cn(\n 'p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction TableCaption({ className, ...props }: React.ComponentProps<'caption'>) {\n return (\n <caption data-slot=\"table-caption\" className={cn('text-muted-foreground mt-4 text-sm', className)} {...props} />\n );\n}\n\nexport { Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption };\n"],"names":["Table","className","props","jsx","cn","TableHeader","TableBody","TableFooter","TableRow","TableHead","TableCell","TableCaption"],"mappings":"mJAIA,SAASA,EAAM,CAAE,UAAAC,EAAW,GAAGC,GAAwC,CACrE,aACG,MAAA,CAAI,YAAU,kBAAkB,UAAU,kCACzC,SAAAC,MAAC,QAAA,CAAM,YAAU,QAAQ,UAAWC,KAAG,gCAAiCH,CAAS,EAAI,GAAGC,EAAO,EACjG,CAEJ,CAEA,SAASG,EAAY,CAAE,UAAAJ,EAAW,GAAGC,GAAwC,CAC3E,OAAOC,MAAC,QAAA,CAAM,YAAU,eAAe,UAAWC,EAAAA,GAAG,kBAAmBH,CAAS,EAAI,GAAGC,CAAA,CAAO,CACjG,CAEA,SAASI,EAAU,CAAE,UAAAL,EAAW,GAAGC,GAAwC,CACzE,OAAOC,MAAC,QAAA,CAAM,YAAU,aAAa,UAAWC,EAAAA,GAAG,6BAA8BH,CAAS,EAAI,GAAGC,CAAA,CAAO,CAC1G,CAEA,SAASK,EAAY,CAAE,UAAAN,EAAW,GAAGC,GAAwC,CAC3E,OACEC,EAAAA,IAAC,QAAA,CACC,YAAU,eACV,UAAWC,EAAAA,GAAG,0DAA2DH,CAAS,EACjF,GAAGC,CAAA,CAAA,CAGV,CAEA,SAASM,EAAS,CAAE,UAAAP,EAAW,GAAGC,GAAqC,CACrE,OACEC,EAAAA,IAAC,KAAA,CACC,YAAU,YACV,UAAWC,EAAAA,GAAG,8EAA+EH,CAAS,EACrG,GAAGC,CAAA,CAAA,CAGV,CAEA,SAASO,EAAU,CAAE,UAAAR,EAAW,GAAGC,GAAqC,CACtE,OACEC,EAAAA,IAAC,KAAA,CACC,YAAU,aACV,UAAWC,EAAAA,GACT,qJACAH,CAAA,EAED,GAAGC,CAAA,CAAA,CAGV,CAEA,SAASQ,EAAU,CAAE,UAAAT,EAAW,GAAGC,GAAqC,CACtE,OACEC,EAAAA,IAAC,KAAA,CACC,YAAU,aACV,UAAWC,EAAAA,GACT,yGACAH,CAAA,EAED,GAAGC,CAAA,CAAA,CAGV,CAEA,SAASS,EAAa,CAAE,UAAAV,EAAW,GAAGC,GAA0C,CAC9E,OACEC,MAAC,UAAA,CAAQ,YAAU,gBAAgB,UAAWC,EAAAA,GAAG,qCAAsCH,CAAS,EAAI,GAAGC,CAAA,CAAO,CAElH"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
declare function Table({ className, ...props }: React.ComponentProps<'table'>): import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
declare function TableHeader({ className, ...props }: React.ComponentProps<'thead'>): import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
declare function TableBody({ className, ...props }: React.ComponentProps<'tbody'>): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
declare function TableFooter({ className, ...props }: React.ComponentProps<'tfoot'>): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
declare function TableRow({ className, ...props }: React.ComponentProps<'tr'>): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
declare function TableHead({ className, ...props }: React.ComponentProps<'th'>): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
declare function TableCell({ className, ...props }: React.ComponentProps<'td'>): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
declare function TableCaption({ className, ...props }: React.ComponentProps<'caption'>): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export { Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption };
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { jsx as a } from "react/jsx-runtime";
|
|
2
|
+
import { cn as o } from "../lib/utils.js";
|
|
3
|
+
function n({ className: t, ...e }) {
|
|
4
|
+
return /* @__PURE__ */ a("div", { "data-slot": "table-container", className: "relative w-full overflow-x-auto", children: /* @__PURE__ */ a("table", { "data-slot": "table", className: o("w-full caption-bottom text-sm", t), ...e }) });
|
|
5
|
+
}
|
|
6
|
+
function s({ className: t, ...e }) {
|
|
7
|
+
return /* @__PURE__ */ a("thead", { "data-slot": "table-header", className: o("[&_tr]:border-b", t), ...e });
|
|
8
|
+
}
|
|
9
|
+
function d({ className: t, ...e }) {
|
|
10
|
+
return /* @__PURE__ */ a("tbody", { "data-slot": "table-body", className: o("[&_tr:last-child]:border-0", t), ...e });
|
|
11
|
+
}
|
|
12
|
+
function c({ className: t, ...e }) {
|
|
13
|
+
return /* @__PURE__ */ a(
|
|
14
|
+
"tfoot",
|
|
15
|
+
{
|
|
16
|
+
"data-slot": "table-footer",
|
|
17
|
+
className: o("bg-muted/50 border-t font-medium [&>tr]:last:border-b-0", t),
|
|
18
|
+
...e
|
|
19
|
+
}
|
|
20
|
+
);
|
|
21
|
+
}
|
|
22
|
+
function b({ className: t, ...e }) {
|
|
23
|
+
return /* @__PURE__ */ a(
|
|
24
|
+
"tr",
|
|
25
|
+
{
|
|
26
|
+
"data-slot": "table-row",
|
|
27
|
+
className: o("hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors", t),
|
|
28
|
+
...e
|
|
29
|
+
}
|
|
30
|
+
);
|
|
31
|
+
}
|
|
32
|
+
function i({ className: t, ...e }) {
|
|
33
|
+
return /* @__PURE__ */ a(
|
|
34
|
+
"th",
|
|
35
|
+
{
|
|
36
|
+
"data-slot": "table-head",
|
|
37
|
+
className: o(
|
|
38
|
+
"text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",
|
|
39
|
+
t
|
|
40
|
+
),
|
|
41
|
+
...e
|
|
42
|
+
}
|
|
43
|
+
);
|
|
44
|
+
}
|
|
45
|
+
function m({ className: t, ...e }) {
|
|
46
|
+
return /* @__PURE__ */ a(
|
|
47
|
+
"td",
|
|
48
|
+
{
|
|
49
|
+
"data-slot": "table-cell",
|
|
50
|
+
className: o(
|
|
51
|
+
"p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",
|
|
52
|
+
t
|
|
53
|
+
),
|
|
54
|
+
...e
|
|
55
|
+
}
|
|
56
|
+
);
|
|
57
|
+
}
|
|
58
|
+
function u({ className: t, ...e }) {
|
|
59
|
+
return /* @__PURE__ */ a("caption", { "data-slot": "table-caption", className: o("text-muted-foreground mt-4 text-sm", t), ...e });
|
|
60
|
+
}
|
|
61
|
+
export {
|
|
62
|
+
n as Table,
|
|
63
|
+
d as TableBody,
|
|
64
|
+
u as TableCaption,
|
|
65
|
+
m as TableCell,
|
|
66
|
+
c as TableFooter,
|
|
67
|
+
i as TableHead,
|
|
68
|
+
s as TableHeader,
|
|
69
|
+
b as TableRow
|
|
70
|
+
};
|
|
71
|
+
//# sourceMappingURL=table.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table.js","sources":["../../src/elements/table.tsx"],"sourcesContent":["'use client';\n\nimport { cn } from '@/lib/utils';\n\nfunction Table({ className, ...props }: React.ComponentProps<'table'>) {\n return (\n <div data-slot=\"table-container\" className=\"relative w-full overflow-x-auto\">\n <table data-slot=\"table\" className={cn('w-full caption-bottom text-sm', className)} {...props} />\n </div>\n );\n}\n\nfunction TableHeader({ className, ...props }: React.ComponentProps<'thead'>) {\n return <thead data-slot=\"table-header\" className={cn('[&_tr]:border-b', className)} {...props} />;\n}\n\nfunction TableBody({ className, ...props }: React.ComponentProps<'tbody'>) {\n return <tbody data-slot=\"table-body\" className={cn('[&_tr:last-child]:border-0', className)} {...props} />;\n}\n\nfunction TableFooter({ className, ...props }: React.ComponentProps<'tfoot'>) {\n return (\n <tfoot\n data-slot=\"table-footer\"\n className={cn('bg-muted/50 border-t font-medium [&>tr]:last:border-b-0', className)}\n {...props}\n />\n );\n}\n\nfunction TableRow({ className, ...props }: React.ComponentProps<'tr'>) {\n return (\n <tr\n data-slot=\"table-row\"\n className={cn('hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors', className)}\n {...props}\n />\n );\n}\n\nfunction TableHead({ className, ...props }: React.ComponentProps<'th'>) {\n return (\n <th\n data-slot=\"table-head\"\n className={cn(\n 'text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction TableCell({ className, ...props }: React.ComponentProps<'td'>) {\n return (\n <td\n data-slot=\"table-cell\"\n className={cn(\n 'p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction TableCaption({ className, ...props }: React.ComponentProps<'caption'>) {\n return (\n <caption data-slot=\"table-caption\" className={cn('text-muted-foreground mt-4 text-sm', className)} {...props} />\n );\n}\n\nexport { Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption };\n"],"names":["Table","className","props","jsx","cn","TableHeader","TableBody","TableFooter","TableRow","TableHead","TableCell","TableCaption"],"mappings":";;AAIA,SAASA,EAAM,EAAE,WAAAC,GAAW,GAAGC,KAAwC;AACrE,2BACG,OAAA,EAAI,aAAU,mBAAkB,WAAU,mCACzC,UAAA,gBAAAC,EAAC,SAAA,EAAM,aAAU,SAAQ,WAAWC,EAAG,iCAAiCH,CAAS,GAAI,GAAGC,GAAO,GACjG;AAEJ;AAEA,SAASG,EAAY,EAAE,WAAAJ,GAAW,GAAGC,KAAwC;AAC3E,SAAO,gBAAAC,EAAC,SAAA,EAAM,aAAU,gBAAe,WAAWC,EAAG,mBAAmBH,CAAS,GAAI,GAAGC,EAAA,CAAO;AACjG;AAEA,SAASI,EAAU,EAAE,WAAAL,GAAW,GAAGC,KAAwC;AACzE,SAAO,gBAAAC,EAAC,SAAA,EAAM,aAAU,cAAa,WAAWC,EAAG,8BAA8BH,CAAS,GAAI,GAAGC,EAAA,CAAO;AAC1G;AAEA,SAASK,EAAY,EAAE,WAAAN,GAAW,GAAGC,KAAwC;AAC3E,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC,EAAG,2DAA2DH,CAAS;AAAA,MACjF,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASM,EAAS,EAAE,WAAAP,GAAW,GAAGC,KAAqC;AACrE,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC,EAAG,+EAA+EH,CAAS;AAAA,MACrG,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASO,EAAU,EAAE,WAAAR,GAAW,GAAGC,KAAqC;AACtE,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC;AAAA,QACT;AAAA,QACAH;AAAA,MAAA;AAAA,MAED,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASQ,EAAU,EAAE,WAAAT,GAAW,GAAGC,KAAqC;AACtE,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC;AAAA,QACT;AAAA,QACAH;AAAA,MAAA;AAAA,MAED,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASS,EAAa,EAAE,WAAAV,GAAW,GAAGC,KAA0C;AAC9E,SACE,gBAAAC,EAAC,WAAA,EAAQ,aAAU,iBAAgB,WAAWC,EAAG,sCAAsCH,CAAS,GAAI,GAAGC,EAAA,CAAO;AAElH;"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Table } from './table';
|
|
2
|
+
declare const meta: {
|
|
3
|
+
title: string;
|
|
4
|
+
tags: string[];
|
|
5
|
+
component: typeof Table;
|
|
6
|
+
parameters: {
|
|
7
|
+
docs: {
|
|
8
|
+
description: {
|
|
9
|
+
component: string;
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
export default meta;
|
|
15
|
+
export declare const Demo: {
|
|
16
|
+
render: () => import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),o=require("@radix-ui/react-tabs"),r=require("../lib/utils.cjs");function c(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const i=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,i.get?i:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const a=c(o);function u({className:e,...t}){return s.jsx(a.Root,{"data-slot":"tabs",className:r.cn("flex flex-col gap-2",e),...t})}function l({className:e,...t}){return s.jsx(a.List,{"data-slot":"tabs-list",className:r.cn("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]",e),...t})}function d({className:e,...t}){return s.jsx(a.Trigger,{"data-slot":"tabs-trigger",className:r.cn("data-[state=active]:bg-background dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...t})}function b({className:e,...t}){return s.jsx(a.Content,{"data-slot":"tabs-content",className:r.cn("flex-1 outline-none",e),...t})}exports.Tabs=u;exports.TabsContent=b;exports.TabsList=l;exports.TabsTrigger=d;
|
|
2
|
+
//# sourceMappingURL=tabs.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabs.cjs","sources":["../../src/elements/tabs.tsx"],"sourcesContent":["'use client';\n\nimport * as TabsPrimitive from '@radix-ui/react-tabs';\n\nimport { cn } from '@/lib/utils';\n\nfunction Tabs({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Root>) {\n return <TabsPrimitive.Root data-slot=\"tabs\" className={cn('flex flex-col gap-2', className)} {...props} />;\n}\n\nfunction TabsList({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.List>) {\n return (\n <TabsPrimitive.List\n data-slot=\"tabs-list\"\n className={cn(\n 'bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction TabsTrigger({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Trigger>) {\n return (\n <TabsPrimitive.Trigger\n data-slot=\"tabs-trigger\"\n className={cn(\n \"data-[state=active]:bg-background dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction TabsContent({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Content>) {\n return <TabsPrimitive.Content data-slot=\"tabs-content\" className={cn('flex-1 outline-none', className)} {...props} />;\n}\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent };\n"],"names":["Tabs","className","props","jsx","TabsPrimitive","cn","TabsList","TabsTrigger","TabsContent"],"mappings":"+cAMA,SAASA,EAAK,CAAE,UAAAC,EAAW,GAAGC,GAA0D,CACtF,OAAOC,EAAAA,IAACC,EAAc,KAAd,CAAmB,YAAU,OAAO,UAAWC,EAAAA,GAAG,sBAAuBJ,CAAS,EAAI,GAAGC,CAAA,CAAO,CAC1G,CAEA,SAASI,EAAS,CAAE,UAAAL,EAAW,GAAGC,GAA0D,CAC1F,OACEC,EAAAA,IAACC,EAAc,KAAd,CACC,YAAU,YACV,UAAWC,EAAAA,GACT,sGACAJ,CAAA,EAED,GAAGC,CAAA,CAAA,CAGV,CAEA,SAASK,EAAY,CAAE,UAAAN,EAAW,GAAGC,GAA6D,CAChG,OACEC,EAAAA,IAACC,EAAc,QAAd,CACC,YAAU,eACV,UAAWC,EAAAA,GACT,kqBACAJ,CAAA,EAED,GAAGC,CAAA,CAAA,CAGV,CAEA,SAASM,EAAY,CAAE,UAAAP,EAAW,GAAGC,GAA6D,CAChG,OAAOC,EAAAA,IAACC,EAAc,QAAd,CAAsB,YAAU,eAAe,UAAWC,EAAAA,GAAG,sBAAuBJ,CAAS,EAAI,GAAGC,CAAA,CAAO,CACrH"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import * as TabsPrimitive from '@radix-ui/react-tabs';
|
|
2
|
+
declare function Tabs({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
declare function TabsList({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.List>): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
declare function TabsTrigger({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
declare function TabsContent({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Content>): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export { Tabs, TabsList, TabsTrigger, TabsContent };
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { jsx as a } from "react/jsx-runtime";
|
|
2
|
+
import * as s from "@radix-ui/react-tabs";
|
|
3
|
+
import { cn as i } from "../lib/utils.js";
|
|
4
|
+
function o({ className: t, ...e }) {
|
|
5
|
+
return /* @__PURE__ */ a(s.Root, { "data-slot": "tabs", className: i("flex flex-col gap-2", t), ...e });
|
|
6
|
+
}
|
|
7
|
+
function d({ className: t, ...e }) {
|
|
8
|
+
return /* @__PURE__ */ a(
|
|
9
|
+
s.List,
|
|
10
|
+
{
|
|
11
|
+
"data-slot": "tabs-list",
|
|
12
|
+
className: i(
|
|
13
|
+
"bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]",
|
|
14
|
+
t
|
|
15
|
+
),
|
|
16
|
+
...e
|
|
17
|
+
}
|
|
18
|
+
);
|
|
19
|
+
}
|
|
20
|
+
function c({ className: t, ...e }) {
|
|
21
|
+
return /* @__PURE__ */ a(
|
|
22
|
+
s.Trigger,
|
|
23
|
+
{
|
|
24
|
+
"data-slot": "tabs-trigger",
|
|
25
|
+
className: i(
|
|
26
|
+
"data-[state=active]:bg-background dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
27
|
+
t
|
|
28
|
+
),
|
|
29
|
+
...e
|
|
30
|
+
}
|
|
31
|
+
);
|
|
32
|
+
}
|
|
33
|
+
function l({ className: t, ...e }) {
|
|
34
|
+
return /* @__PURE__ */ a(s.Content, { "data-slot": "tabs-content", className: i("flex-1 outline-none", t), ...e });
|
|
35
|
+
}
|
|
36
|
+
export {
|
|
37
|
+
o as Tabs,
|
|
38
|
+
l as TabsContent,
|
|
39
|
+
d as TabsList,
|
|
40
|
+
c as TabsTrigger
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=tabs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabs.js","sources":["../../src/elements/tabs.tsx"],"sourcesContent":["'use client';\n\nimport * as TabsPrimitive from '@radix-ui/react-tabs';\n\nimport { cn } from '@/lib/utils';\n\nfunction Tabs({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Root>) {\n return <TabsPrimitive.Root data-slot=\"tabs\" className={cn('flex flex-col gap-2', className)} {...props} />;\n}\n\nfunction TabsList({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.List>) {\n return (\n <TabsPrimitive.List\n data-slot=\"tabs-list\"\n className={cn(\n 'bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction TabsTrigger({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Trigger>) {\n return (\n <TabsPrimitive.Trigger\n data-slot=\"tabs-trigger\"\n className={cn(\n \"data-[state=active]:bg-background dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction TabsContent({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Content>) {\n return <TabsPrimitive.Content data-slot=\"tabs-content\" className={cn('flex-1 outline-none', className)} {...props} />;\n}\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent };\n"],"names":["Tabs","className","props","jsx","TabsPrimitive","cn","TabsList","TabsTrigger","TabsContent"],"mappings":";;;AAMA,SAASA,EAAK,EAAE,WAAAC,GAAW,GAAGC,KAA0D;AACtF,SAAO,gBAAAC,EAACC,EAAc,MAAd,EAAmB,aAAU,QAAO,WAAWC,EAAG,uBAAuBJ,CAAS,GAAI,GAAGC,EAAA,CAAO;AAC1G;AAEA,SAASI,EAAS,EAAE,WAAAL,GAAW,GAAGC,KAA0D;AAC1F,SACE,gBAAAC;AAAA,IAACC,EAAc;AAAA,IAAd;AAAA,MACC,aAAU;AAAA,MACV,WAAWC;AAAA,QACT;AAAA,QACAJ;AAAA,MAAA;AAAA,MAED,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASK,EAAY,EAAE,WAAAN,GAAW,GAAGC,KAA6D;AAChG,SACE,gBAAAC;AAAA,IAACC,EAAc;AAAA,IAAd;AAAA,MACC,aAAU;AAAA,MACV,WAAWC;AAAA,QACT;AAAA,QACAJ;AAAA,MAAA;AAAA,MAED,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASM,EAAY,EAAE,WAAAP,GAAW,GAAGC,KAA6D;AAChG,SAAO,gBAAAC,EAACC,EAAc,SAAd,EAAsB,aAAU,gBAAe,WAAWC,EAAG,uBAAuBJ,CAAS,GAAI,GAAGC,EAAA,CAAO;AACrH;"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Tabs } from './tabs';
|
|
2
|
+
declare const meta: {
|
|
3
|
+
title: string;
|
|
4
|
+
tags: string[];
|
|
5
|
+
component: typeof Tabs;
|
|
6
|
+
parameters: {
|
|
7
|
+
docs: {
|
|
8
|
+
description: {
|
|
9
|
+
component: string;
|
|
10
|
+
};
|
|
11
|
+
source: {
|
|
12
|
+
type: string;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
export default meta;
|
|
18
|
+
export declare function Demo(): import("react/jsx-runtime").JSX.Element;
|