@djangocfg/ui-core 2.1.260 → 2.1.261
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 +27 -12
- package/package.json +4 -4
- package/src/components/{avatar.story.tsx → data/avatar/avatar.story.tsx} +1 -1
- package/src/components/{avatar.tsx → data/avatar/index.tsx} +1 -1
- package/src/components/{badge.story.tsx → data/badge/badge.story.tsx} +1 -1
- package/src/components/{badge.tsx → data/badge/index.tsx} +1 -1
- package/src/components/{calendar.story.tsx → data/calendar/calendar.story.tsx} +2 -1
- package/src/components/{calendar → data/calendar}/calendar.tsx +2 -2
- package/src/components/{calendar → data/calendar}/date-picker.tsx +3 -3
- package/src/components/{carousel.story.tsx → data/carousel/carousel.story.tsx} +2 -2
- package/src/components/{carousel.tsx → data/carousel/index.tsx} +2 -2
- package/src/components/{chart.tsx → data/chart/index.tsx} +1 -1
- package/src/components/{progress.tsx → data/progress/index.tsx} +1 -1
- package/src/components/{progress.story.tsx → data/progress/progress.story.tsx} +1 -1
- package/src/components/{table.tsx → data/table/index.tsx} +1 -1
- package/src/components/{table.story.tsx → data/table/table.story.tsx} +2 -2
- package/src/components/{toggle.tsx → data/toggle/index.tsx} +1 -1
- package/src/components/{toggle.story.tsx → data/toggle/toggle.story.tsx} +1 -1
- package/src/components/{toggle-group.tsx → data/toggle-group/index.tsx} +2 -2
- package/src/components/{toggle-group.story.tsx → data/toggle-group/toggle-group.story.tsx} +1 -1
- package/src/components/{alert.story.tsx → feedback/alert/alert.story.tsx} +1 -1
- package/src/components/{alert.tsx → feedback/alert/index.tsx} +1 -1
- package/src/components/{empty.story.tsx → feedback/empty/empty.story.tsx} +2 -2
- package/src/components/{empty.tsx → feedback/empty/index.tsx} +1 -1
- package/src/components/{preloader.tsx → feedback/preloader/index.tsx} +1 -1
- package/src/components/{preloader.story.tsx → feedback/preloader/preloader.story.tsx} +1 -1
- package/src/components/{sonner.tsx → feedback/sonner/index.tsx} +1 -1
- package/src/components/{spinner.tsx → feedback/spinner/index.tsx} +1 -1
- package/src/components/{spinner.story.tsx → feedback/spinner/spinner.story.tsx} +1 -1
- package/src/components/{button.story.tsx → forms/button/button.story.tsx} +1 -1
- package/src/components/{button.tsx → forms/button/index.tsx} +1 -1
- package/src/components/{button-download.story.tsx → forms/button-download/button-download.story.tsx} +1 -1
- package/src/components/{button-download.tsx → forms/button-download/index.tsx} +3 -3
- package/src/components/{button-group.story.tsx → forms/button-group/button-group.story.tsx} +2 -2
- package/src/components/{button-group.tsx → forms/button-group/index.tsx} +2 -2
- package/src/components/{checkbox.story.tsx → forms/checkbox/checkbox.story.tsx} +2 -2
- package/src/components/{checkbox.tsx → forms/checkbox/index.tsx} +1 -1
- package/src/components/{field.tsx → forms/field/index.tsx} +3 -3
- package/src/components/{form.tsx → forms/form/index.tsx} +2 -2
- package/src/components/{input.tsx → forms/input/index.tsx} +2 -2
- package/src/components/{input.story.tsx → forms/input/input.story.tsx} +2 -2
- package/src/components/{input-group.tsx → forms/input-group/index.tsx} +4 -4
- package/src/components/{input-group.story.tsx → forms/input-group/input-group.story.tsx} +2 -2
- package/src/components/{input-otp.tsx → forms/input-otp/index.tsx} +1 -1
- package/src/components/{input-otp.story.tsx → forms/input-otp/input-otp.story.tsx} +1 -1
- package/src/components/{label.tsx → forms/label/index.tsx} +1 -1
- package/src/components/{label.story.tsx → forms/label/label.story.tsx} +3 -3
- package/src/components/{otp → forms/otp}/index.tsx +2 -2
- package/src/components/{phone-input.tsx → forms/phone-input/index.tsx} +4 -4
- package/src/components/{radio-group.tsx → forms/radio-group/index.tsx} +1 -1
- package/src/components/{radio-group.story.tsx → forms/radio-group/radio-group.story.tsx} +2 -2
- package/src/components/{slider.tsx → forms/slider/index.tsx} +2 -2
- package/src/components/{slider.story.tsx → forms/slider/slider.story.tsx} +2 -2
- package/src/components/{switch.tsx → forms/switch/index.tsx} +1 -1
- package/src/components/{switch.story.tsx → forms/switch/switch.story.tsx} +2 -2
- package/src/components/{textarea.tsx → forms/textarea/index.tsx} +2 -2
- package/src/components/{textarea.story.tsx → forms/textarea/textarea.story.tsx} +2 -2
- package/src/components/index.ts +110 -100
- package/src/components/{aspect-ratio.story.tsx → layout/aspect-ratio/aspect-ratio.story.tsx} +1 -1
- package/src/components/{card.story.tsx → layout/card/card.story.tsx} +4 -4
- package/src/components/{card.tsx → layout/card/index.tsx} +1 -1
- package/src/components/{resizable.tsx → layout/resizable/index.tsx} +1 -1
- package/src/components/{resizable.story.tsx → layout/resizable/resizable.story.tsx} +1 -1
- package/src/components/{scroll-area.tsx → layout/scroll-area/index.tsx} +1 -1
- package/src/components/{scroll-area.story.tsx → layout/scroll-area/scroll-area.story.tsx} +2 -2
- package/src/components/{section.tsx → layout/section/index.tsx} +1 -1
- package/src/components/{separator.tsx → layout/separator/index.tsx} +1 -1
- package/src/components/{separator.story.tsx → layout/separator/separator.story.tsx} +1 -1
- package/src/components/{skeleton.tsx → layout/skeleton/index.tsx} +1 -1
- package/src/components/{skeleton.story.tsx → layout/skeleton/skeleton.story.tsx} +1 -1
- package/src/components/{sticky.tsx → layout/sticky/index.tsx} +1 -1
- package/src/components/{accordion.story.tsx → navigation/accordion/accordion.story.tsx} +1 -1
- package/src/components/{accordion.tsx → navigation/accordion/index.tsx} +2 -2
- package/src/components/{collapsible.story.tsx → navigation/collapsible/collapsible.story.tsx} +2 -2
- package/src/components/{command.story.tsx → navigation/command/command.story.tsx} +2 -2
- package/src/components/{command.tsx → navigation/command/index.tsx} +2 -2
- package/src/components/{context-menu.story.tsx → navigation/context-menu/context-menu.story.tsx} +1 -1
- package/src/components/{context-menu.tsx → navigation/context-menu/index.tsx} +1 -1
- package/src/components/{dropdown-menu.story.tsx → navigation/dropdown-menu/dropdown-menu.story.tsx} +2 -2
- package/src/components/{dropdown-menu.tsx → navigation/dropdown-menu/index.tsx} +1 -1
- package/src/components/{menubar.tsx → navigation/menubar/index.tsx} +1 -1
- package/src/components/{menubar.story.tsx → navigation/menubar/menubar.story.tsx} +1 -1
- package/src/components/{navigation-menu.tsx → navigation/navigation-menu/index.tsx} +1 -1
- package/src/components/{navigation-menu.story.tsx → navigation/navigation-menu/navigation-menu.story.tsx} +2 -2
- package/src/components/{tabs.tsx → navigation/tabs/index.tsx} +6 -6
- package/src/components/{tabs.story.tsx → navigation/tabs/tabs.story.tsx} +5 -5
- package/src/components/{alert-dialog.story.tsx → overlay/alert-dialog/alert-dialog.story.tsx} +2 -2
- package/src/components/{alert-dialog.tsx → overlay/alert-dialog/index.tsx} +2 -2
- package/src/components/{dialog.story.tsx → overlay/dialog/dialog.story.tsx} +4 -4
- package/src/components/{dialog.tsx → overlay/dialog/index.tsx} +1 -1
- package/src/components/{drawer.story.tsx → overlay/drawer/drawer.story.tsx} +4 -4
- package/src/components/{drawer.tsx → overlay/drawer/index.tsx} +1 -1
- package/src/components/{hover-card.story.tsx → overlay/hover-card/hover-card.story.tsx} +3 -3
- package/src/components/{hover-card.tsx → overlay/hover-card/index.tsx} +1 -1
- package/src/components/{popover.tsx → overlay/popover/index.tsx} +1 -1
- package/src/components/{popover.story.tsx → overlay/popover/popover.story.tsx} +4 -4
- package/src/components/{responsive-sheet.tsx → overlay/responsive-sheet/index.tsx} +3 -3
- package/src/components/{responsive-sheet.story.tsx → overlay/responsive-sheet/responsive-sheet.story.tsx} +4 -4
- package/src/components/{sheet.tsx → overlay/sheet/index.tsx} +1 -1
- package/src/components/{sheet.story.tsx → overlay/sheet/sheet.story.tsx} +4 -4
- package/src/components/{tooltip.tsx → overlay/tooltip/index.tsx} +1 -1
- package/src/components/{tooltip.story.tsx → overlay/tooltip/tooltip.story.tsx} +2 -2
- package/src/components/select/README.md +272 -0
- package/src/components/{combobox.story.tsx → select/combobox.story.tsx} +2 -2
- package/src/components/{combobox.tsx → select/combobox.tsx} +50 -8
- package/src/components/{country-select.story.tsx → select/country-select.story.tsx} +1 -1
- package/src/components/{country-select.tsx → select/country-select.tsx} +8 -8
- package/src/components/{multi-select-pro → select}/helpers.tsx +2 -2
- package/src/components/select/index.ts +59 -0
- package/src/components/{language-select.story.tsx → select/language-select.story.tsx} +1 -1
- package/src/components/{language-select.tsx → select/language-select.tsx} +8 -8
- package/src/components/{multi-select-pro/async.tsx → select/multi-select-pro-async.tsx} +5 -5
- package/src/components/{multi-select-pro/index.tsx → select/multi-select-pro.tsx} +5 -5
- package/src/components/{multi-select.story.tsx → select/multi-select.story.tsx} +1 -1
- package/src/components/{multi-select.tsx → select/multi-select.tsx} +6 -6
- package/src/components/{select.story.tsx → select/select.story.tsx} +2 -2
- package/src/components/{select.tsx → select/select.tsx} +25 -7
- package/src/components/select/types.ts +57 -0
- package/src/components/{copy.story.tsx → specialized/copy/copy.story.tsx} +1 -1
- package/src/components/{copy.tsx → specialized/copy/index.tsx} +2 -2
- package/src/components/{image-with-fallback.story.tsx → specialized/image-with-fallback/image-with-fallback.story.tsx} +1 -1
- package/src/components/{image-with-fallback.tsx → specialized/image-with-fallback/index.tsx} +2 -2
- package/src/components/{item.tsx → specialized/item/index.tsx} +2 -2
- package/src/components/{kbd.tsx → specialized/kbd/index.tsx} +1 -1
- package/src/components/{kbd.story.tsx → specialized/kbd/kbd.story.tsx} +1 -1
- package/src/components/{token-icon.tsx → specialized/token-icon/index.tsx} +1 -1
- package/src/lib/dialog-service/dialog-service.story.tsx +1 -1
- package/src/lib/dialog-service/dialogs/AlertDialogUI.tsx +1 -1
- package/src/lib/dialog-service/dialogs/ConfirmDialogUI.tsx +2 -2
- package/src/lib/dialog-service/dialogs/PromptDialogUI.tsx +3 -3
- package/src/stories/index.ts +8 -8
- /package/src/components/{calendar → data/calendar}/index.ts +0 -0
- /package/src/components/{otp → forms/otp}/types.ts +0 -0
- /package/src/components/{otp → forms/otp}/use-otp-input.ts +0 -0
- /package/src/components/{aspect-ratio.tsx → layout/aspect-ratio/index.tsx} +0 -0
- /package/src/components/{collapsible.tsx → navigation/collapsible/index.tsx} +0 -0
- /package/src/components/{tooltip-provider-safe.tsx → overlay/tooltip/tooltip-provider-safe.tsx} +0 -0
- /package/src/components/{portal.tsx → specialized/portal/index.tsx} +0 -0
|
@@ -4,8 +4,8 @@ import * as React from 'react';
|
|
|
4
4
|
|
|
5
5
|
import * as SliderPrimitive from '@radix-ui/react-slider';
|
|
6
6
|
|
|
7
|
-
import { useStoredValue, type StorageType, type UseStoredValueOptions } from '
|
|
8
|
-
import { cn } from '
|
|
7
|
+
import { useStoredValue, type StorageType, type UseStoredValueOptions } from '../../../hooks/useStoredValue';
|
|
8
|
+
import { cn } from '../../../lib/utils';
|
|
9
9
|
|
|
10
10
|
export interface SliderProps extends React.ComponentPropsWithoutRef<typeof SliderPrimitive.Root> {
|
|
11
11
|
/**
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useState } from 'react';
|
|
2
2
|
import { defineStory, useBoolean, useNumber } from '@djangocfg/playground';
|
|
3
|
-
import { Slider } from '
|
|
4
|
-
import { Label } from '
|
|
3
|
+
import { Slider } from '.';
|
|
4
|
+
import { Label } from '../../forms/label';
|
|
5
5
|
|
|
6
6
|
export default defineStory({
|
|
7
7
|
title: 'Core/Slider',
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useState } from 'react';
|
|
2
2
|
import { defineStory, useBoolean } from '@djangocfg/playground';
|
|
3
|
-
import { Switch } from '
|
|
4
|
-
import { Label } from '
|
|
3
|
+
import { Switch } from '.';
|
|
4
|
+
import { Label } from '../../forms/label';
|
|
5
5
|
|
|
6
6
|
export default defineStory({
|
|
7
7
|
title: 'Core/Switch',
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
|
|
3
|
-
import { useStoredValue, type StorageType, type UseStoredValueOptions } from '
|
|
4
|
-
import { cn } from '
|
|
3
|
+
import { useStoredValue, type StorageType, type UseStoredValueOptions } from '../../../hooks/useStoredValue';
|
|
4
|
+
import { cn } from '../../../lib/utils';
|
|
5
5
|
|
|
6
6
|
export interface TextareaProps extends React.ComponentProps<"textarea"> {
|
|
7
7
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineStory, useBoolean, useNumber } from '@djangocfg/playground';
|
|
2
|
-
import { Textarea } from '
|
|
3
|
-
import { Label } from '
|
|
2
|
+
import { Textarea } from '.';
|
|
3
|
+
import { Label } from '../../forms/label';
|
|
4
4
|
|
|
5
5
|
export default defineStory({
|
|
6
6
|
title: 'Core/Textarea',
|
package/src/components/index.ts
CHANGED
|
@@ -1,113 +1,123 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
export {
|
|
7
|
-
export {
|
|
8
|
-
export { Input } from './input';
|
|
9
|
-
export { Textarea } from './textarea';
|
|
10
|
-
export { Label } from './label';
|
|
11
|
-
export {
|
|
12
|
-
export {
|
|
3
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
4
|
+
// Forms
|
|
5
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
6
|
+
export { Button, ButtonLink, buttonVariants } from './forms/button';
|
|
7
|
+
export type { ButtonProps, ButtonLinkProps } from './forms/button';
|
|
8
|
+
export { Input } from './forms/input';
|
|
9
|
+
export { Textarea } from './forms/textarea';
|
|
10
|
+
export { Label } from './forms/label';
|
|
11
|
+
export { Checkbox } from './forms/checkbox';
|
|
12
|
+
export { RadioGroup, RadioGroupItem } from './forms/radio-group';
|
|
13
|
+
export { Switch } from './forms/switch';
|
|
14
|
+
export { Slider } from './forms/slider';
|
|
15
|
+
export { ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants } from './forms/button-group';
|
|
16
|
+
export { Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField } from './forms/form';
|
|
17
|
+
export { InputGroup, InputGroupAddon, InputGroupButton, InputGroupText, InputGroupInput, InputGroupTextarea } from './forms/input-group';
|
|
18
|
+
export { InputOTP, InputOTPGroup, InputOTPSlot } from './forms/input-otp';
|
|
19
|
+
export { PhoneInput } from './forms/phone-input';
|
|
20
|
+
export type { PhoneInputProps } from './forms/phone-input';
|
|
21
|
+
export { OTPInput, InputOTPSeparator, useSmartOTP } from './forms/otp';
|
|
22
|
+
export type { SmartOTPProps as OTPInputProps, OTPValidationMode, OTPPasteBehavior, OTPValidator } from './forms/otp/types';
|
|
23
|
+
export { ButtonGroup as ButtonGroupComponent } from './forms/button-group';
|
|
24
|
+
export { DownloadButton } from './forms/button-download';
|
|
25
|
+
export type { DownloadButtonProps } from './forms/button-download';
|
|
13
26
|
|
|
14
|
-
//
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
export {
|
|
18
|
-
export { Combobox } from './combobox';
|
|
19
|
-
export type { ComboboxOption, ComboboxProps } from './combobox';
|
|
20
|
-
export { MultiSelect } from './multi-select';
|
|
21
|
-
export type { MultiSelectOption, MultiSelectProps } from './multi-select';
|
|
22
|
-
export { MultiSelectPro } from './multi-select-pro';
|
|
23
|
-
export type { MultiSelectProOption, MultiSelectProGroup, MultiSelectProProps, MultiSelectProRef, AnimationConfig, ResponsiveConfig } from './multi-select-pro';
|
|
24
|
-
export { CountrySelect, getEmojiFlag } from './country-select';
|
|
25
|
-
export type { CountrySelectProps, CountrySelectVariant, CountryOption, TCountryCode } from './country-select';
|
|
26
|
-
export { LanguageSelect, getLanguageFlag, LANGUAGE_TO_COUNTRY } from './language-select';
|
|
27
|
-
export type { LanguageSelectProps, LanguageSelectVariant, LanguageOption, TLanguageCode } from './language-select';
|
|
28
|
-
export { MultiSelectProAsync } from './multi-select-pro/async';
|
|
29
|
-
export type { MultiSelectProAsyncProps } from './multi-select-pro/async';
|
|
30
|
-
export { Switch } from './switch';
|
|
31
|
-
export { Slider } from './slider';
|
|
32
|
-
export { InputOTP, InputOTPGroup, InputOTPSlot } from './input-otp';
|
|
33
|
-
export { OTPInput, InputOTPSeparator, useSmartOTP } from './otp';
|
|
34
|
-
export type { SmartOTPProps as OTPInputProps, OTPValidationMode, OTPPasteBehavior, OTPValidator } from './otp/types';
|
|
27
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
28
|
+
// Field (advanced form layout)
|
|
29
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
30
|
+
export { Field, FieldLabel, FieldDescription, FieldError, FieldGroup, FieldLegend, FieldSeparator, FieldSet, FieldContent, FieldTitle } from './forms/field';
|
|
35
31
|
|
|
36
|
-
//
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
export
|
|
40
|
-
export { ScrollArea, ScrollBar } from './scroll-area';
|
|
41
|
-
export type { ScrollAreaHandle, ScrollAreaProps, ScrollAreaOrientation } from './scroll-area';
|
|
42
|
-
export { ResizableHandle, ResizablePanel, ResizablePanelGroup, useResizableDragging } from './resizable';
|
|
43
|
-
export type { ResizableHandleProps, ImperativePanelHandle } from './resizable';
|
|
44
|
-
export { Sticky } from './sticky';
|
|
45
|
-
export { Portal } from './portal';
|
|
46
|
-
export type { PortalProps } from './portal';
|
|
32
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
33
|
+
// Select Components (existing folder - untouched)
|
|
34
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
35
|
+
export * from './select';
|
|
47
36
|
|
|
48
|
-
//
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
export {
|
|
52
|
-
export {
|
|
53
|
-
export {
|
|
54
|
-
export {
|
|
55
|
-
export {
|
|
56
|
-
export {
|
|
37
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
38
|
+
// Overlay
|
|
39
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
40
|
+
export { Dialog, DialogTrigger, DialogClose, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription } from './overlay/dialog';
|
|
41
|
+
export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, AlertDialogTrigger } from './overlay/alert-dialog';
|
|
42
|
+
export { Popover, PopoverContent, PopoverTrigger, PopoverAnchor, PopoverArrow } from './overlay/popover';
|
|
43
|
+
export { Sheet, SheetTrigger, SheetClose, SheetContent, SheetHeader, SheetFooter, SheetTitle, SheetDescription } from './overlay/sheet';
|
|
44
|
+
export { Drawer, DrawerTrigger, DrawerClose, DrawerContent, DrawerHeader, DrawerFooter, DrawerTitle, DrawerDescription } from './overlay/drawer';
|
|
45
|
+
export { ResponsiveSheet, ResponsiveSheetContent, ResponsiveSheetHeader, ResponsiveSheetTitle, ResponsiveSheetDescription, ResponsiveSheetFooter } from './overlay/responsive-sheet';
|
|
46
|
+
export { HoverCard, HoverCardContent, HoverCardTrigger } from './overlay/hover-card';
|
|
47
|
+
export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from './overlay/tooltip';
|
|
57
48
|
|
|
58
|
-
//
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
export {
|
|
62
|
-
export {
|
|
63
|
-
export {
|
|
64
|
-
export {
|
|
65
|
-
export {
|
|
66
|
-
export {
|
|
67
|
-
export
|
|
68
|
-
export {
|
|
69
|
-
export type { CarouselApi } from './carousel';
|
|
70
|
-
export { TokenIcon, getAllTokenSymbols, searchTokens, getTokensByCategory } from './token-icon';
|
|
71
|
-
export type { TokenIconProps, TokenSymbol, TokenCategory } from './token-icon';
|
|
49
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
50
|
+
// Navigation
|
|
51
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
52
|
+
export { navigationMenuTriggerStyle, NavigationMenu, NavigationMenuList, NavigationMenuItem, NavigationMenuContent, NavigationMenuTrigger, NavigationMenuLink, NavigationMenuIndicator, NavigationMenuViewport } from './navigation/navigation-menu';
|
|
53
|
+
export { Menubar, MenubarMenu, MenubarTrigger, MenubarContent, MenubarItem, MenubarSeparator, MenubarLabel, MenubarCheckboxItem, MenubarRadioGroup, MenubarRadioItem, MenubarPortal, MenubarSubContent, MenubarSubTrigger, MenubarGroup, MenubarSub, MenubarShortcut } from './navigation/menubar';
|
|
54
|
+
export { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, DropdownMenuCheckboxItem, DropdownMenuRadioItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuGroup, DropdownMenuPortal, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuRadioGroup } from './navigation/dropdown-menu';
|
|
55
|
+
export { ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuItem, ContextMenuLabel, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger } from './navigation/context-menu';
|
|
56
|
+
export { Tabs, TabsContent, TabsList, TabsTrigger } from './navigation/tabs';
|
|
57
|
+
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from './navigation/accordion';
|
|
58
|
+
export { Collapsible, CollapsibleContent, CollapsibleTrigger } from './navigation/collapsible';
|
|
59
|
+
export { Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut } from './navigation/command';
|
|
72
60
|
|
|
73
|
-
//
|
|
74
|
-
|
|
61
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
62
|
+
// Layout
|
|
63
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
64
|
+
export { Card, CardContent, CardDescription, CardHeader, CardTitle, CardFooter } from './layout/card';
|
|
65
|
+
export { Separator } from './layout/separator';
|
|
66
|
+
export { Skeleton } from './layout/skeleton';
|
|
67
|
+
export { AspectRatio } from './layout/aspect-ratio';
|
|
68
|
+
export { ScrollArea, ScrollBar } from './layout/scroll-area';
|
|
69
|
+
export type { ScrollAreaHandle, ScrollAreaProps, ScrollAreaOrientation } from './layout/scroll-area';
|
|
70
|
+
export { ResizableHandle, ResizablePanel, ResizablePanelGroup, useResizableDragging } from './layout/resizable';
|
|
71
|
+
export type { ResizableHandleProps, ImperativePanelHandle } from './layout/resizable';
|
|
72
|
+
export { Sticky } from './layout/sticky';
|
|
73
|
+
export { Section, SectionHeader } from './layout/section';
|
|
74
|
+
|
|
75
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
76
|
+
// Data Display
|
|
77
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
78
|
+
export { Table, TableBody, TableCaption, TableCell, TableHead, TableHeader, TableRow } from './data/table';
|
|
79
|
+
export { Badge } from './data/badge';
|
|
80
|
+
export { Avatar, AvatarFallback, AvatarImage } from './data/avatar';
|
|
81
|
+
export { Progress } from './data/progress';
|
|
82
|
+
export { Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious } from './data/carousel';
|
|
83
|
+
export type { CarouselApi } from './data/carousel';
|
|
84
|
+
export { Calendar, CalendarDayButton } from './data/calendar';
|
|
85
|
+
export { DatePicker, DateRangePicker } from './data/calendar';
|
|
86
|
+
export type { DatePickerProps, DateRangePickerProps, DateRange } from './data/calendar';
|
|
87
|
+
export { Toggle } from './data/toggle';
|
|
88
|
+
export { ToggleGroup, ToggleGroupItem } from './data/toggle-group';
|
|
75
89
|
|
|
76
|
-
//
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
export {
|
|
80
|
-
export { ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuItem, ContextMenuLabel, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger } from './context-menu';
|
|
81
|
-
export { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, DropdownMenuCheckboxItem, DropdownMenuRadioItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuGroup, DropdownMenuPortal, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuRadioGroup } from './dropdown-menu';
|
|
90
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
91
|
+
// Chart Components
|
|
92
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
93
|
+
export { ChartContainer, ChartTooltip, ChartTooltipContent, ChartLegend, ChartLegendContent, ChartStyle } from './data/chart';
|
|
82
94
|
|
|
83
|
-
//
|
|
84
|
-
|
|
95
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
96
|
+
// Feedback
|
|
97
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
98
|
+
export { Alert, AlertDescription, AlertTitle } from './feedback/alert';
|
|
99
|
+
export { Spinner } from './feedback/spinner';
|
|
100
|
+
export { Empty, EmptyHeader, EmptyTitle, EmptyDescription, EmptyContent, EmptyMedia } from './feedback/empty';
|
|
101
|
+
export { Preloader, PreloaderSkeleton } from './feedback/preloader';
|
|
102
|
+
export type { PreloaderProps, PreloaderSkeletonProps } from './feedback/preloader';
|
|
103
|
+
export { Toaster } from './feedback/sonner';
|
|
85
104
|
|
|
86
|
-
//
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
export {
|
|
90
|
-
export {
|
|
91
|
-
export {
|
|
92
|
-
export type {
|
|
93
|
-
export {
|
|
94
|
-
export type {
|
|
95
|
-
export {
|
|
96
|
-
export {
|
|
97
|
-
export {
|
|
105
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
106
|
+
// Specialized
|
|
107
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
108
|
+
export { Kbd, KbdGroup } from './specialized/kbd';
|
|
109
|
+
export type { KbdProps, KbdSize } from './specialized/kbd';
|
|
110
|
+
export { CopyButton, CopyField } from './specialized/copy';
|
|
111
|
+
export type { CopyButtonProps, CopyFieldProps } from './specialized/copy';
|
|
112
|
+
export { TokenIcon, getAllTokenSymbols, searchTokens, getTokensByCategory } from './specialized/token-icon';
|
|
113
|
+
export type { TokenIconProps, TokenSymbol, TokenCategory } from './specialized/token-icon';
|
|
114
|
+
export { Item, ItemMedia, ItemContent, ItemActions, ItemGroup, ItemSeparator, ItemTitle, ItemDescription, ItemHeader, ItemFooter } from './specialized/item';
|
|
115
|
+
export { Portal } from './specialized/portal';
|
|
116
|
+
export type { PortalProps } from './specialized/portal';
|
|
117
|
+
export { ImageWithFallback } from './specialized/image-with-fallback';
|
|
98
118
|
|
|
99
|
-
//
|
|
119
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
120
|
+
// Effects
|
|
121
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
100
122
|
export { GlowBackground } from './effects';
|
|
101
123
|
export type { GlowBackgroundProps } from './effects';
|
|
102
|
-
|
|
103
|
-
export { CopyButton, CopyField } from './copy';
|
|
104
|
-
export type { CopyButtonProps, CopyFieldProps } from './copy';
|
|
105
|
-
export { DownloadButton } from './button-download';
|
|
106
|
-
export type { DownloadButtonProps } from './button-download';
|
|
107
|
-
|
|
108
|
-
// Additional Components
|
|
109
|
-
export { Toaster } from './sonner';
|
|
110
|
-
export { PhoneInput } from './phone-input';
|
|
111
|
-
export type { PhoneInputProps } from './phone-input';
|
|
112
|
-
export { navigationMenuTriggerStyle, NavigationMenu, NavigationMenuList, NavigationMenuItem, NavigationMenuContent, NavigationMenuTrigger, NavigationMenuLink, NavigationMenuIndicator, NavigationMenuViewport } from './navigation-menu';
|
|
113
|
-
export { Menubar, MenubarMenu, MenubarTrigger, MenubarContent, MenubarItem, MenubarSeparator, MenubarLabel, MenubarCheckboxItem, MenubarRadioGroup, MenubarRadioItem, MenubarPortal, MenubarSubContent, MenubarSubTrigger, MenubarGroup, MenubarSub, MenubarShortcut } from './menubar';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { defineStory } from '@djangocfg/playground';
|
|
2
|
-
import { Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter } from '
|
|
3
|
-
import { Button } from '
|
|
4
|
-
import { Input } from '
|
|
5
|
-
import { Label } from '
|
|
2
|
+
import { Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter } from '.';
|
|
3
|
+
import { Button } from '../../forms/button';
|
|
4
|
+
import { Input } from '../../forms/input';
|
|
5
|
+
import { Label } from '../../forms/label';
|
|
6
6
|
|
|
7
7
|
export default defineStory({
|
|
8
8
|
title: 'Core/Card',
|
|
@@ -4,7 +4,7 @@ import * as ResizablePrimitive from 'react-resizable-panels';
|
|
|
4
4
|
|
|
5
5
|
import { DragHandleDots2Icon } from '@radix-ui/react-icons';
|
|
6
6
|
|
|
7
|
-
import { cn } from '
|
|
7
|
+
import { cn } from '../../../lib/utils';
|
|
8
8
|
|
|
9
9
|
// Context to share dragging state across panel group
|
|
10
10
|
const ResizableDraggingContext = React.createContext<{
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineStory } from '@djangocfg/playground';
|
|
2
|
-
import { ResizableHandle, ResizablePanel, ResizablePanelGroup } from '
|
|
2
|
+
import { ResizableHandle, ResizablePanel, ResizablePanelGroup } from '.';
|
|
3
3
|
|
|
4
4
|
export default defineStory({
|
|
5
5
|
title: 'Core/Resizable',
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineStory } from '@djangocfg/playground';
|
|
2
|
-
import { ScrollArea, ScrollBar } from '
|
|
3
|
-
import { Separator } from '
|
|
2
|
+
import { ScrollArea, ScrollBar } from '.';
|
|
3
|
+
import { Separator } from '../../layout/separator';
|
|
4
4
|
|
|
5
5
|
export default defineStory({
|
|
6
6
|
title: 'Core/Scroll Area',
|
|
@@ -4,7 +4,7 @@ import * as React from 'react';
|
|
|
4
4
|
|
|
5
5
|
import * as SeparatorPrimitive from '@radix-ui/react-separator';
|
|
6
6
|
|
|
7
|
-
import { cn } from '
|
|
7
|
+
import { cn } from '../../../lib/utils';
|
|
8
8
|
|
|
9
9
|
const Separator = React.forwardRef<
|
|
10
10
|
React.ElementRef<typeof SeparatorPrimitive.Root>,
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
import * as React from 'react';
|
|
36
36
|
import StickyBox from 'react-sticky-box';
|
|
37
37
|
|
|
38
|
-
import { useIsMobile } from '
|
|
38
|
+
import { useIsMobile } from '../../../hooks/useMobile';
|
|
39
39
|
|
|
40
40
|
export interface StickyProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
41
41
|
/** Stick to bottom instead of top */
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineStory } from '@djangocfg/playground';
|
|
2
|
-
import { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from '
|
|
2
|
+
import { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from '.';
|
|
3
3
|
|
|
4
4
|
export default defineStory({
|
|
5
5
|
title: 'Core/Accordion',
|
|
@@ -5,8 +5,8 @@ import * as React from 'react';
|
|
|
5
5
|
import * as AccordionPrimitive from '@radix-ui/react-accordion';
|
|
6
6
|
import { ChevronDownIcon } from '@radix-ui/react-icons';
|
|
7
7
|
|
|
8
|
-
import { useStoredValue, type StorageType, type UseStoredValueOptions } from '
|
|
9
|
-
import { cn } from '
|
|
8
|
+
import { useStoredValue, type StorageType, type UseStoredValueOptions } from '../../../hooks/useStoredValue';
|
|
9
|
+
import { cn } from '../../../lib/utils';
|
|
10
10
|
|
|
11
11
|
type AccordionSingleProps = React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Root> & {
|
|
12
12
|
type: 'single'
|
package/src/components/{collapsible.story.tsx → navigation/collapsible/collapsible.story.tsx}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useState } from 'react';
|
|
2
2
|
import { defineStory } from '@djangocfg/playground';
|
|
3
|
-
import { Collapsible, CollapsibleContent, CollapsibleTrigger } from '
|
|
4
|
-
import { Button } from '
|
|
3
|
+
import { Collapsible, CollapsibleContent, CollapsibleTrigger } from '.';
|
|
4
|
+
import { Button } from '../../forms/button';
|
|
5
5
|
import { ChevronsUpDown } from 'lucide-react';
|
|
6
6
|
|
|
7
7
|
export default defineStory({
|
|
@@ -9,9 +9,9 @@ import {
|
|
|
9
9
|
CommandList,
|
|
10
10
|
CommandSeparator,
|
|
11
11
|
CommandShortcut,
|
|
12
|
-
} from '
|
|
12
|
+
} from '.';
|
|
13
13
|
import { useState } from 'react';
|
|
14
|
-
import { Button } from '
|
|
14
|
+
import { Button } from '../../forms/button';
|
|
15
15
|
import { Calendar, Smile, Calculator, User, CreditCard, Settings } from 'lucide-react';
|
|
16
16
|
|
|
17
17
|
export default defineStory({
|
|
@@ -6,8 +6,8 @@ import * as React from 'react';
|
|
|
6
6
|
import { DialogProps} from '@radix-ui/react-dialog';
|
|
7
7
|
import { MagnifyingGlassIcon } from '@radix-ui/react-icons';
|
|
8
8
|
|
|
9
|
-
import { cn } from '
|
|
10
|
-
import { Dialog, DialogContent } from '
|
|
9
|
+
import { cn } from '../../../lib/utils';
|
|
10
|
+
import { Dialog, DialogContent } from '../../overlay/dialog';
|
|
11
11
|
|
|
12
12
|
const Command = React.forwardRef<
|
|
13
13
|
React.ElementRef<typeof CommandPrimitive>,
|
|
@@ -5,7 +5,7 @@ import * as React from 'react';
|
|
|
5
5
|
import * as ContextMenuPrimitive from '@radix-ui/react-context-menu';
|
|
6
6
|
import { CheckIcon, ChevronRightIcon, DotFilledIcon } from '@radix-ui/react-icons';
|
|
7
7
|
|
|
8
|
-
import { cn } from '
|
|
8
|
+
import { cn } from '../../../lib/utils';
|
|
9
9
|
|
|
10
10
|
const ContextMenu = ContextMenuPrimitive.Root
|
|
11
11
|
|
package/src/components/{dropdown-menu.story.tsx → navigation/dropdown-menu/dropdown-menu.story.tsx}
RENAMED
|
@@ -14,8 +14,8 @@ import {
|
|
|
14
14
|
DropdownMenuSubContent,
|
|
15
15
|
DropdownMenuSubTrigger,
|
|
16
16
|
DropdownMenuRadioGroup,
|
|
17
|
-
} from '
|
|
18
|
-
import { Button } from '
|
|
17
|
+
} from '.';
|
|
18
|
+
import { Button } from '../../forms/button';
|
|
19
19
|
import { useState } from 'react';
|
|
20
20
|
import {
|
|
21
21
|
User,
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import { Check, ChevronRight, Circle } from 'lucide-react';
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
|
|
6
|
-
import { cn } from '
|
|
6
|
+
import { cn } from '../../../lib';
|
|
7
7
|
import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
|
|
8
8
|
|
|
9
9
|
const DropdownMenu = DropdownMenuPrimitive.Root
|
|
@@ -4,7 +4,7 @@ import { cva } from 'class-variance-authority';
|
|
|
4
4
|
import { ChevronDown } from 'lucide-react';
|
|
5
5
|
import * as React from 'react';
|
|
6
6
|
|
|
7
|
-
import { cn } from '
|
|
7
|
+
import { cn } from '../../../lib';
|
|
8
8
|
import * as NavigationMenuPrimitive from '@radix-ui/react-navigation-menu';
|
|
9
9
|
|
|
10
10
|
const NavigationMenu = React.forwardRef<
|
|
@@ -7,8 +7,8 @@ import {
|
|
|
7
7
|
NavigationMenuContent,
|
|
8
8
|
NavigationMenuLink,
|
|
9
9
|
navigationMenuTriggerStyle,
|
|
10
|
-
} from '
|
|
11
|
-
import { cn } from '
|
|
10
|
+
} from '.';
|
|
11
|
+
import { cn } from '../../../lib';
|
|
12
12
|
|
|
13
13
|
export default defineStory({
|
|
14
14
|
title: 'Core/NavigationMenu',
|
|
@@ -5,13 +5,13 @@ import * as React from 'react';
|
|
|
5
5
|
|
|
6
6
|
import * as TabsPrimitive from '@radix-ui/react-tabs';
|
|
7
7
|
|
|
8
|
-
import { useIsMobile } from '
|
|
9
|
-
import { useStoredValue, type StorageType } from '
|
|
8
|
+
import { useIsMobile } from '../../../hooks';
|
|
9
|
+
import { useStoredValue, type StorageType } from '../../../hooks/useStoredValue';
|
|
10
10
|
import { useAppT } from '@djangocfg/i18n';
|
|
11
|
-
import { cn } from '
|
|
12
|
-
import { Button } from '
|
|
13
|
-
import { ScrollArea, ScrollBar } from '
|
|
14
|
-
import { Sheet, SheetContent, SheetHeader, SheetTitle, SheetTrigger } from '
|
|
11
|
+
import { cn } from '../../../lib/utils';
|
|
12
|
+
import { Button } from '../../forms/button';
|
|
13
|
+
import { ScrollArea, ScrollBar } from '../../layout/scroll-area';
|
|
14
|
+
import { Sheet, SheetContent, SheetHeader, SheetTitle, SheetTrigger } from '../../overlay/sheet';
|
|
15
15
|
|
|
16
16
|
// ─────────────────────────────────────────────────────────────────────────
|
|
17
17
|
// Tabs Root with Mobile Sheet Support
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { defineStory } from '@djangocfg/playground';
|
|
2
|
-
import { Tabs, TabsContent, TabsList, TabsTrigger } from '
|
|
3
|
-
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '
|
|
4
|
-
import { Input } from '
|
|
5
|
-
import { Label } from '
|
|
6
|
-
import { Button } from '
|
|
2
|
+
import { Tabs, TabsContent, TabsList, TabsTrigger } from '.';
|
|
3
|
+
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '../../layout/card';
|
|
4
|
+
import { Input } from '../../forms/input';
|
|
5
|
+
import { Label } from '../../forms/label';
|
|
6
|
+
import { Button } from '../../forms/button';
|
|
7
7
|
|
|
8
8
|
export default defineStory({
|
|
9
9
|
title: 'Core/Tabs',
|