luan-ui 0.7.0 → 0.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/accordion/accordion.js +2 -2
- package/dist/components/accordion/accordion.js.map +1 -1
- package/dist/components/alert/alert.js +3 -3
- package/dist/components/alert/alert.js.map +1 -1
- package/dist/components/alert-dialog/alert-dialog.js +3 -3
- package/dist/components/alert-dialog/alert-dialog.js.map +1 -1
- package/dist/components/autocomplete/autocomplete.d.ts +83 -0
- package/dist/components/autocomplete/autocomplete.js +58 -0
- package/dist/components/autocomplete/autocomplete.js.map +1 -0
- package/dist/components/avatar/avatar-group.js +1 -1
- package/dist/components/avatar/avatar-group.js.map +1 -1
- package/dist/components/avatar/avatar.js +2 -2
- package/dist/components/avatar/avatar.js.map +1 -1
- package/dist/components/badge/badge.js +4 -4
- package/dist/components/badge/badge.js.map +1 -1
- package/dist/components/button/button.js +3 -3
- package/dist/components/button/button.js.map +1 -1
- package/dist/components/card/card.js +3 -3
- package/dist/components/card/card.js.map +1 -1
- package/dist/components/checkbox/checkbox.js +2 -2
- package/dist/components/checkbox/checkbox.js.map +1 -1
- package/dist/components/combobox/combobox.d.ts +82 -0
- package/dist/components/combobox/combobox.js +57 -0
- package/dist/components/combobox/combobox.js.map +1 -0
- package/dist/components/dialog/dialog.js +3 -3
- package/dist/components/dialog/dialog.js.map +1 -1
- package/dist/components/drawer/drawer.js +3 -3
- package/dist/components/drawer/drawer.js.map +1 -1
- package/dist/components/dropdown-menu/dropdown-menu.js +7 -7
- package/dist/components/dropdown-menu/dropdown-menu.js.map +1 -1
- package/dist/components/form-helper/form-helper.js +4 -4
- package/dist/components/form-helper/form-helper.js.map +1 -1
- package/dist/components/input/input.js +3 -3
- package/dist/components/input/input.js.map +1 -1
- package/dist/components/label/label.js +1 -1
- package/dist/components/label/label.js.map +1 -1
- package/dist/components/pagination/pagination.js +4 -4
- package/dist/components/pagination/pagination.js.map +1 -1
- package/dist/components/popover/popover.js +1 -1
- package/dist/components/popover/popover.js.map +1 -1
- package/dist/components/progress/progress.js +1 -1
- package/dist/components/progress/progress.js.map +1 -1
- package/dist/components/radio-group/radio-group.js +1 -1
- package/dist/components/radio-group/radio-group.js.map +1 -1
- package/dist/components/select/select.js +4 -4
- package/dist/components/select/select.js.map +1 -1
- package/dist/components/skeleton/skeleton.js +1 -1
- package/dist/components/skeleton/skeleton.js.map +1 -1
- package/dist/components/slider/slider.js +2 -2
- package/dist/components/slider/slider.js.map +1 -1
- package/dist/components/switch/switch.js +5 -5
- package/dist/components/switch/switch.js.map +1 -1
- package/dist/components/table/table.js +4 -4
- package/dist/components/table/table.js.map +1 -1
- package/dist/components/tabs/tabs.js +3 -3
- package/dist/components/tabs/tabs.js.map +1 -1
- package/dist/components/text-area/text-area.js +3 -3
- package/dist/components/text-area/text-area.js.map +1 -1
- package/dist/components/toast/toast.js +1 -1
- package/dist/components/toast/toast.js.map +1 -1
- package/dist/components/tooltip/tooltip.js +1 -1
- package/dist/components/tooltip/tooltip.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/styles/index.css +43 -0
- package/dist/utilities/pagination/get-truncated-elements.js +4 -4
- package/dist/utilities/pagination/get-truncated-elements.js.map +1 -1
- package/package.json +1 -1
|
@@ -43,7 +43,7 @@ function TooltipTrigger({ render, children, ref, ...props }) {
|
|
|
43
43
|
}
|
|
44
44
|
function TooltipContent({ className, children, ref, ...props }) {
|
|
45
45
|
const { showArrow, side, sideOffset } = useTooltipContext();
|
|
46
|
-
return (_jsx(TooltipPrimitive.Portal, { children: _jsx(TooltipPrimitive.Positioner, { side: side, sideOffset: sideOffset ?? 10, children: _jsxs(TooltipPrimitive.Popup, { className: cn("relative z-50 w-fit max-w-72 rounded-md bg-
|
|
46
|
+
return (_jsx(TooltipPrimitive.Portal, { children: _jsx(TooltipPrimitive.Positioner, { side: side, sideOffset: sideOffset ?? 10, children: _jsxs(TooltipPrimitive.Popup, { className: cn("relative z-50 w-fit max-w-72 rounded-md bg-primary p-2 text-on-primary text-sm shadow-md", className), ...props, ref: ref, children: [children, showArrow && (_jsx(TooltipPrimitive.Arrow, { className: "data-[side=bottom]:-top-1.25 data-[side=left]:-right-1.25 data-[side=top]:-bottom-1.25 data-[side=right]:-left-1.25", children: _jsx("div", { className: "h-2.5 w-2.5 rotate-45 bg-primary" }) }))] }) }) }));
|
|
47
47
|
}
|
|
48
48
|
export { Tooltip, TooltipContent, TooltipTrigger };
|
|
49
49
|
//# sourceMappingURL=tooltip.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tooltip.js","sourceRoot":"/","sources":["components/tooltip/tooltip.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAY3D,MAAM,cAAc,GAAG,aAAa,CAAiC,SAAS,CAAC,CAAC;AAEhF,MAAM,iBAAiB,GAAG,GAAG,EAAE;IAC9B,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC,CAAC;AAaF;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,OAAO,CAAC,EAChB,QAAQ,EACR,SAAS,GAAG,IAAI,EAChB,IAAI,EACJ,UAAU,GAAG,EAAE,EACf,aAAa,GAAG,GAAG,EACnB,GAAG,KAAK,EACM;IACd,MAAM,YAAY,GAAG,OAAO,CAC3B,GAAG,EAAE,CAAC,CAAC;QACN,SAAS;QACT,IAAI;QACJ,UAAU;KACV,CAAC,EACF,CAAC,SAAS,EAAE,IAAI,EAAE,UAAU,CAAC,CAC7B,CAAC;IACF,OAAO,CACN,KAAC,cAAc,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY,YAC3C,KAAC,gBAAgB,CAAC,QAAQ,IAAC,KAAK,EAAE,aAAa,YAC9C,KAAC,gBAAgB,CAAC,IAAI,OAAK,KAAK,YAAG,QAAQ,GAAyB,GACzC,GACH,CAC1B,CAAC;AACH,CAAC;AAYD,SAAS,cAAc,CAAC,EACvB,MAAM,EACN,QAAQ,EACR,GAAG,EACH,GAAG,KAAK,EACa;IACrB,IAAI,MAAM,EAAE,CAAC;QACZ,OAAO,CACN,KAAC,gBAAgB,CAAC,OAAO,IAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,KAAM,KAAK,YAC3D,QAAQ,GACiB,CAC3B,CAAC;IACH,CAAC;IACD,OAAO,CACN,KAAC,gBAAgB,CAAC,OAAO,IAAC,GAAG,EAAE,GAAG,KAAM,KAAK,YAC3C,QAAQ,GACiB,CAC3B,CAAC;AACH,CAAC;AAYD,SAAS,cAAc,CAAC,EACvB,SAAS,EACT,QAAQ,EACR,GAAG,EACH,GAAG,KAAK,EACa;IACrB,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,iBAAiB,EAAE,CAAC;IAC5D,OAAO,CACN,KAAC,gBAAgB,CAAC,MAAM,cACvB,KAAC,gBAAgB,CAAC,UAAU,IAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,IAAI,EAAE,YACpE,MAAC,gBAAgB,CAAC,KAAK,IACtB,SAAS,EAAE,EAAE,CACZ,
|
|
1
|
+
{"version":3,"file":"tooltip.js","sourceRoot":"/","sources":["components/tooltip/tooltip.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAY3D,MAAM,cAAc,GAAG,aAAa,CAAiC,SAAS,CAAC,CAAC;AAEhF,MAAM,iBAAiB,GAAG,GAAG,EAAE;IAC9B,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC,CAAC;AAaF;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,OAAO,CAAC,EAChB,QAAQ,EACR,SAAS,GAAG,IAAI,EAChB,IAAI,EACJ,UAAU,GAAG,EAAE,EACf,aAAa,GAAG,GAAG,EACnB,GAAG,KAAK,EACM;IACd,MAAM,YAAY,GAAG,OAAO,CAC3B,GAAG,EAAE,CAAC,CAAC;QACN,SAAS;QACT,IAAI;QACJ,UAAU;KACV,CAAC,EACF,CAAC,SAAS,EAAE,IAAI,EAAE,UAAU,CAAC,CAC7B,CAAC;IACF,OAAO,CACN,KAAC,cAAc,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY,YAC3C,KAAC,gBAAgB,CAAC,QAAQ,IAAC,KAAK,EAAE,aAAa,YAC9C,KAAC,gBAAgB,CAAC,IAAI,OAAK,KAAK,YAAG,QAAQ,GAAyB,GACzC,GACH,CAC1B,CAAC;AACH,CAAC;AAYD,SAAS,cAAc,CAAC,EACvB,MAAM,EACN,QAAQ,EACR,GAAG,EACH,GAAG,KAAK,EACa;IACrB,IAAI,MAAM,EAAE,CAAC;QACZ,OAAO,CACN,KAAC,gBAAgB,CAAC,OAAO,IAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,KAAM,KAAK,YAC3D,QAAQ,GACiB,CAC3B,CAAC;IACH,CAAC;IACD,OAAO,CACN,KAAC,gBAAgB,CAAC,OAAO,IAAC,GAAG,EAAE,GAAG,KAAM,KAAK,YAC3C,QAAQ,GACiB,CAC3B,CAAC;AACH,CAAC;AAYD,SAAS,cAAc,CAAC,EACvB,SAAS,EACT,QAAQ,EACR,GAAG,EACH,GAAG,KAAK,EACa;IACrB,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,iBAAiB,EAAE,CAAC;IAC5D,OAAO,CACN,KAAC,gBAAgB,CAAC,MAAM,cACvB,KAAC,gBAAgB,CAAC,UAAU,IAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,IAAI,EAAE,YACpE,MAAC,gBAAgB,CAAC,KAAK,IACtB,SAAS,EAAE,EAAE,CACZ,0FAA0F,EAC1F,SAAS,CACT,KACG,KAAK,EACT,GAAG,EAAE,GAAG,aAEP,QAAQ,EACR,SAAS,IAAI,CACb,KAAC,gBAAgB,CAAC,KAAK,IAAC,SAAS,EAAC,qHAAqH,YACtJ,cAAK,SAAS,EAAC,kCAAkC,GAAG,GAC5B,CACzB,IACuB,GACI,GACL,CAC1B,CAAC;AACH,CAAC;AAED,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC","sourcesContent":["import { Tooltip as TooltipPrimitive } from \"@base-ui/react/tooltip\";\nimport { cn } from \"@utilities/cn/cn\";\nimport type { ComponentProps } from \"react\";\nimport { createContext, useContext, useMemo } from \"react\";\n\n/**\n * Tooltip Context\n */\n\ntype TooltipContextType = {\n\tshowArrow?: boolean;\n\tside?: \"top\" | \"right\" | \"bottom\" | \"left\";\n\tsideOffset?: number;\n};\n\nconst TooltipContext = createContext<TooltipContextType | undefined>(undefined);\n\nconst useTooltipContext = () => {\n\tconst context = useContext(TooltipContext);\n\tif (!context) {\n\t\tthrow new Error(\"Tooltip components must be used within a TooltipProvider\");\n\t}\n\treturn context;\n};\n\n/**\n * Tooltip\n */\n\nexport type TooltipProps = ComponentProps<typeof TooltipPrimitive.Root> & {\n\tshowArrow?: boolean;\n\tside?: \"top\" | \"right\" | \"bottom\" | \"left\";\n\tsideOffset?: number;\n\tdelayDuration?: number;\n};\n\n/**\n * A tooltip component built on top of Base UI's tooltip primitive.\n *\n * @param {TooltipProps} props - The props for the Tooltip component\n * @param {boolean} [props.showArrow=true] - Whether to show the arrow pointing to the trigger\n * @param {\"top\" | \"right\" | \"bottom\" | \"left\"} [props.side] - The preferred side to show the tooltip\n * @param {number} [props.sideOffset=10] - Distance between the anchor and the popup\n * @param {number} [props.delayDuration=600] - How long to wait before opening the tooltip (in ms)\n *\n * @example\n * ```tsx\n * <Tooltip>\n * <TooltipTrigger>Hover me</TooltipTrigger>\n * <TooltipContent>Tooltip content</TooltipContent>\n * </Tooltip>\n * ```\n */\nfunction Tooltip({\n\tchildren,\n\tshowArrow = true,\n\tside,\n\tsideOffset = 10,\n\tdelayDuration = 600,\n\t...props\n}: TooltipProps) {\n\tconst contextValue = useMemo(\n\t\t() => ({\n\t\t\tshowArrow,\n\t\t\tside,\n\t\t\tsideOffset,\n\t\t}),\n\t\t[showArrow, side, sideOffset],\n\t);\n\treturn (\n\t\t<TooltipContext.Provider value={contextValue}>\n\t\t\t<TooltipPrimitive.Provider delay={delayDuration}>\n\t\t\t\t<TooltipPrimitive.Root {...props}>{children}</TooltipPrimitive.Root>\n\t\t\t</TooltipPrimitive.Provider>\n\t\t</TooltipContext.Provider>\n\t);\n}\n\n/**\n * Tooltip Trigger\n */\n\nexport type TooltipTriggerProps = ComponentProps<\n\ttypeof TooltipPrimitive.Trigger\n> & {\n\trender?: React.ReactElement;\n};\n\nfunction TooltipTrigger({\n\trender,\n\tchildren,\n\tref,\n\t...props\n}: TooltipTriggerProps) {\n\tif (render) {\n\t\treturn (\n\t\t\t<TooltipPrimitive.Trigger ref={ref} render={render} {...props}>\n\t\t\t\t{children}\n\t\t\t</TooltipPrimitive.Trigger>\n\t\t);\n\t}\n\treturn (\n\t\t<TooltipPrimitive.Trigger ref={ref} {...props}>\n\t\t\t{children}\n\t\t</TooltipPrimitive.Trigger>\n\t);\n}\n\n/**\n * Tooltip Content\n */\n\nexport type TooltipContentProps = ComponentProps<\n\ttypeof TooltipPrimitive.Popup\n> & {\n\tshowArrow?: boolean;\n};\n\nfunction TooltipContent({\n\tclassName,\n\tchildren,\n\tref,\n\t...props\n}: TooltipContentProps) {\n\tconst { showArrow, side, sideOffset } = useTooltipContext();\n\treturn (\n\t\t<TooltipPrimitive.Portal>\n\t\t\t<TooltipPrimitive.Positioner side={side} sideOffset={sideOffset ?? 10}>\n\t\t\t\t<TooltipPrimitive.Popup\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\"relative z-50 w-fit max-w-72 rounded-md bg-primary p-2 text-on-primary text-sm shadow-md\",\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t)}\n\t\t\t\t\t{...props}\n\t\t\t\t\tref={ref}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t\t{showArrow && (\n\t\t\t\t\t\t<TooltipPrimitive.Arrow className=\"data-[side=bottom]:-top-1.25 data-[side=left]:-right-1.25 data-[side=top]:-bottom-1.25 data-[side=right]:-left-1.25\">\n\t\t\t\t\t\t\t<div className=\"h-2.5 w-2.5 rotate-45 bg-primary\" />\n\t\t\t\t\t\t</TooltipPrimitive.Arrow>\n\t\t\t\t\t)}\n\t\t\t\t</TooltipPrimitive.Popup>\n\t\t\t</TooltipPrimitive.Positioner>\n\t\t</TooltipPrimitive.Portal>\n\t);\n}\n\nexport { Tooltip, TooltipContent, TooltipTrigger };\n"]}
|
package/dist/index.d.ts
CHANGED
|
@@ -3,6 +3,8 @@ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, } from ".
|
|
|
3
3
|
export type { AlertDescriptionProps, AlertProps, AlertTitleProps, } from "./components/alert/alert";
|
|
4
4
|
export { Alert, AlertDescription, AlertTitle } from "./components/alert/alert";
|
|
5
5
|
export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogOverlay, AlertDialogTitle, AlertDialogTrigger, } from "./components/alert-dialog/alert-dialog";
|
|
6
|
+
export type { AutocompleteClearProps, AutocompleteCollectionProps, AutocompleteContentProps, AutocompleteEmptyProps, AutocompleteGroupLabelProps, AutocompleteInputGroupProps, AutocompleteInputProps, AutocompleteItemProps, AutocompleteListProps, AutocompleteProps, AutocompleteSeparatorProps, AutocompleteTriggerProps, } from "./components/autocomplete/autocomplete";
|
|
7
|
+
export { Autocomplete, AutocompleteClear, AutocompleteCollection, AutocompleteContent, AutocompleteEmpty, AutocompleteGroup, AutocompleteGroupLabel, AutocompleteInput, AutocompleteInputGroup, AutocompleteItem, AutocompleteList, AutocompleteSeparator, AutocompleteTrigger, useAutocompleteFilteredItems, } from "./components/autocomplete/autocomplete";
|
|
6
8
|
export { Avatar, AvatarFallback, AvatarImage } from "./components/avatar/avatar";
|
|
7
9
|
export type { AvatarGroupProps } from "./components/avatar/avatar-group";
|
|
8
10
|
export { AvatarGroup } from "./components/avatar/avatar-group";
|
|
@@ -14,6 +16,8 @@ export type { CardContentProps, CardFooterProps, CardHeaderProps, CardProps, } f
|
|
|
14
16
|
export { Card, CardContent, CardFooter, CardHeader, } from "./components/card/card";
|
|
15
17
|
export type { CheckboxProps } from "./components/checkbox/checkbox";
|
|
16
18
|
export { Checkbox } from "./components/checkbox/checkbox";
|
|
19
|
+
export type { ComboboxClearProps, ComboboxCollectionProps, ComboboxContentProps, ComboboxEmptyProps, ComboboxGroupLabelProps, ComboboxInputGroupProps, ComboboxInputProps, ComboboxItemProps, ComboboxListProps, ComboboxProps, ComboboxSeparatorProps, ComboboxTriggerProps, } from "./components/combobox/combobox";
|
|
20
|
+
export { Combobox, ComboboxClear, ComboboxCollection, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxGroupLabel, ComboboxInput, ComboboxInputGroup, ComboboxItem, ComboboxList, ComboboxSeparator, ComboboxTrigger, useComboboxFilteredItems, } from "./components/combobox/combobox";
|
|
17
21
|
export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, } from "./components/dialog/dialog";
|
|
18
22
|
export { Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerTitle, DrawerTrigger, } from "./components/drawer/drawer";
|
|
19
23
|
export { DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, } from "./components/dropdown-menu/dropdown-menu";
|
package/dist/index.js
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, } from "./components/accordion/accordion";
|
|
2
2
|
export { Alert, AlertDescription, AlertTitle } from "./components/alert/alert";
|
|
3
3
|
export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogOverlay, AlertDialogTitle, AlertDialogTrigger, } from "./components/alert-dialog/alert-dialog";
|
|
4
|
+
export { Autocomplete, AutocompleteClear, AutocompleteCollection, AutocompleteContent, AutocompleteEmpty, AutocompleteGroup, AutocompleteGroupLabel, AutocompleteInput, AutocompleteInputGroup, AutocompleteItem, AutocompleteList, AutocompleteSeparator, AutocompleteTrigger, useAutocompleteFilteredItems, } from "./components/autocomplete/autocomplete";
|
|
4
5
|
export { Avatar, AvatarFallback, AvatarImage } from "./components/avatar/avatar";
|
|
5
6
|
export { AvatarGroup } from "./components/avatar/avatar-group";
|
|
6
7
|
export { Badge } from "./components/badge/badge";
|
|
7
8
|
export { Button } from "./components/button/button";
|
|
8
9
|
export { Card, CardContent, CardFooter, CardHeader, } from "./components/card/card";
|
|
9
10
|
export { Checkbox } from "./components/checkbox/checkbox";
|
|
11
|
+
export { Combobox, ComboboxClear, ComboboxCollection, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxGroupLabel, ComboboxInput, ComboboxInputGroup, ComboboxItem, ComboboxList, ComboboxSeparator, ComboboxTrigger, useComboboxFilteredItems, } from "./components/combobox/combobox";
|
|
10
12
|
export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, } from "./components/dialog/dialog";
|
|
11
13
|
export { Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerTitle, DrawerTrigger, } from "./components/drawer/drawer";
|
|
12
14
|
export { DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, } from "./components/dropdown-menu/dropdown-menu";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"/","sources":["index.ts"],"names":[],"mappings":"AAMA,OAAO,EACN,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,gBAAgB,GAChB,MAAM,iCAAiC,CAAC;AAMzC,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EACN,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,GAClB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAEhF,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAEhD,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAOnD,OAAO,EACN,IAAI,EACJ,WAAW,EACX,UAAU,EACV,UAAU,GACV,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"/","sources":["index.ts"],"names":[],"mappings":"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","sourcesContent":["export type {\n\tAccordionContentProps,\n\tAccordionItemProps,\n\tAccordionProps,\n\tAccordionTriggerProps,\n} from \"@components/accordion/accordion\";\nexport {\n\tAccordion,\n\tAccordionContent,\n\tAccordionItem,\n\tAccordionTrigger,\n} from \"@components/accordion/accordion\";\nexport type {\n\tAlertDescriptionProps,\n\tAlertProps,\n\tAlertTitleProps,\n} from \"@components/alert/alert\";\nexport { Alert, AlertDescription, AlertTitle } from \"@components/alert/alert\";\nexport {\n\tAlertDialog,\n\tAlertDialogAction,\n\tAlertDialogCancel,\n\tAlertDialogContent,\n\tAlertDialogDescription,\n\tAlertDialogOverlay,\n\tAlertDialogTitle,\n\tAlertDialogTrigger,\n} from \"@components/alert-dialog/alert-dialog\";\nexport type {\n\tAutocompleteClearProps,\n\tAutocompleteCollectionProps,\n\tAutocompleteContentProps,\n\tAutocompleteEmptyProps,\n\tAutocompleteGroupLabelProps,\n\tAutocompleteInputGroupProps,\n\tAutocompleteInputProps,\n\tAutocompleteItemProps,\n\tAutocompleteListProps,\n\tAutocompleteProps,\n\tAutocompleteSeparatorProps,\n\tAutocompleteTriggerProps,\n} from \"@components/autocomplete/autocomplete\";\nexport {\n\tAutocomplete,\n\tAutocompleteClear,\n\tAutocompleteCollection,\n\tAutocompleteContent,\n\tAutocompleteEmpty,\n\tAutocompleteGroup,\n\tAutocompleteGroupLabel,\n\tAutocompleteInput,\n\tAutocompleteInputGroup,\n\tAutocompleteItem,\n\tAutocompleteList,\n\tAutocompleteSeparator,\n\tAutocompleteTrigger,\n\tuseAutocompleteFilteredItems,\n} from \"@components/autocomplete/autocomplete\";\nexport { Avatar, AvatarFallback, AvatarImage } from \"@components/avatar/avatar\";\nexport type { AvatarGroupProps } from \"@components/avatar/avatar-group\";\nexport { AvatarGroup } from \"@components/avatar/avatar-group\";\nexport type { BadgeProps } from \"@components/badge/badge\";\nexport { Badge } from \"@components/badge/badge\";\nexport type { ButtonProps } from \"@components/button/button\";\nexport { Button } from \"@components/button/button\";\nexport type {\n\tCardContentProps,\n\tCardFooterProps,\n\tCardHeaderProps,\n\tCardProps,\n} from \"@components/card/card\";\nexport {\n\tCard,\n\tCardContent,\n\tCardFooter,\n\tCardHeader,\n} from \"@components/card/card\";\nexport type { CheckboxProps } from \"@components/checkbox/checkbox\";\nexport { Checkbox } from \"@components/checkbox/checkbox\";\nexport type {\n\tComboboxClearProps,\n\tComboboxCollectionProps,\n\tComboboxContentProps,\n\tComboboxEmptyProps,\n\tComboboxGroupLabelProps,\n\tComboboxInputGroupProps,\n\tComboboxInputProps,\n\tComboboxItemProps,\n\tComboboxListProps,\n\tComboboxProps,\n\tComboboxSeparatorProps,\n\tComboboxTriggerProps,\n} from \"@components/combobox/combobox\";\nexport {\n\tCombobox,\n\tComboboxClear,\n\tComboboxCollection,\n\tComboboxContent,\n\tComboboxEmpty,\n\tComboboxGroup,\n\tComboboxGroupLabel,\n\tComboboxInput,\n\tComboboxInputGroup,\n\tComboboxItem,\n\tComboboxList,\n\tComboboxSeparator,\n\tComboboxTrigger,\n\tuseComboboxFilteredItems,\n} from \"@components/combobox/combobox\";\nexport {\n\tDialog,\n\tDialogClose,\n\tDialogContent,\n\tDialogDescription,\n\tDialogFooter,\n\tDialogHeader,\n\tDialogTitle,\n\tDialogTrigger,\n} from \"@components/dialog/dialog\";\nexport {\n\tDrawer,\n\tDrawerClose,\n\tDrawerContent,\n\tDrawerDescription,\n\tDrawerFooter,\n\tDrawerHeader,\n\tDrawerTitle,\n\tDrawerTrigger,\n} from \"@components/drawer/drawer\";\nexport {\n\tDropdownMenu,\n\tDropdownMenuContent,\n\tDropdownMenuGroup,\n\tDropdownMenuLabel,\n\tDropdownMenuPortal,\n\tDropdownMenuRadioGroup,\n\tDropdownMenuRadioItem,\n\tDropdownMenuSeparator,\n\tDropdownMenuShortcut,\n\tDropdownMenuSub,\n\tDropdownMenuSubContent,\n\tDropdownMenuSubTrigger,\n\tDropdownMenuTrigger,\n} from \"@components/dropdown-menu/dropdown-menu\";\nexport type { InputProps } from \"@components/input/input\";\nexport { Input } from \"@components/input/input\";\nexport type { LabelProps } from \"@components/label/label\";\nexport { Label } from \"@components/label/label\";\nexport type {\n\tPaginationItemProps,\n\tPaginationProps,\n} from \"@components/pagination/pagination\";\nexport {\n\tPagination,\n\tPaginationItem,\n\tPaginationNext,\n\tPaginationPrev,\n} from \"@components/pagination/pagination\";\nexport type {\n\tPopoverContentProps,\n\tPopoverProps,\n} from \"@components/popover/popover\";\nexport {\n\tPopover,\n\tPopoverAnchor,\n\tPopoverClose,\n\tPopoverContent,\n\tPopoverPortal,\n\tPopoverTrigger,\n} from \"@components/popover/popover\";\nexport type { ProgressProps } from \"@components/progress/progress\";\nexport { Progress } from \"@components/progress/progress\";\nexport {\n\tRadioGroup,\n\tRadioGroupItem,\n} from \"@components/radio-group/radio-group\";\nexport {\n\tSelect,\n\tSelectContent,\n\tSelectGroup,\n\tSelectItem,\n\tSelectLabel,\n\tSelectSeparator,\n\tSelectTrigger,\n\tSelectValue,\n} from \"@components/select/select\";\nexport { Skeleton } from \"@components/skeleton/skeleton\";\nexport type { SliderProps } from \"@components/slider/slider\";\nexport { Slider } from \"@components/slider/slider\";\nexport type { SwitchProps } from \"@components/switch/switch\";\nexport { Switch } from \"@components/switch/switch\";\nexport {\n\tTable,\n\tTableBody,\n\tTableCaption,\n\tTableCell,\n\tTableFooter,\n\tTableHead,\n\tTableHeader,\n\tTableRow,\n} from \"@components/table/table\";\nexport {\n\tTabs,\n\tTabsContent,\n\tTabsList,\n\tTabsTrigger,\n} from \"@components/tabs/tabs\";\nexport type { TextareaProps } from \"@components/text-area/text-area\";\nexport { Textarea } from \"@components/text-area/text-area\";\nexport type { ToastProps } from \"@components/toast/toast\";\nexport { Toast, Toaster, toast } from \"@components/toast/toast\";\nexport type { TooltipProps } from \"@components/tooltip/tooltip\";\nexport {\n\tTooltip,\n\tTooltipContent,\n\tTooltipTrigger,\n} from \"@components/tooltip/tooltip\";\n"]}
|
package/dist/styles/index.css
CHANGED
|
@@ -5,6 +5,49 @@
|
|
|
5
5
|
@source "../utilities";
|
|
6
6
|
|
|
7
7
|
@theme {
|
|
8
|
+
/* ─── Brand / Primary ─── */
|
|
9
|
+
--color-primary: #374151;
|
|
10
|
+
--color-primary-hover: #1f2937;
|
|
11
|
+
--color-primary-active: #111827;
|
|
12
|
+
--color-on-primary: #ffffff;
|
|
13
|
+
|
|
14
|
+
/* ─── Destructive ─── */
|
|
15
|
+
--color-destructive: #ef4444;
|
|
16
|
+
--color-destructive-hover: #dc2626;
|
|
17
|
+
--color-destructive-active: #b91c1c;
|
|
18
|
+
|
|
19
|
+
/* ─── Error ─── */
|
|
20
|
+
--color-error: #dc2626;
|
|
21
|
+
|
|
22
|
+
/* ─── Surfaces ─── */
|
|
23
|
+
--color-surface: #ffffff;
|
|
24
|
+
--color-surface-subtle: #f9fafb;
|
|
25
|
+
--color-surface-muted: #f3f4f6;
|
|
26
|
+
--color-overlay: oklch(0 0 0 / 50%);
|
|
27
|
+
|
|
28
|
+
/* ─── Borders & Separators ─── */
|
|
29
|
+
--color-border: #e5e7eb;
|
|
30
|
+
--color-border-input: #9ca3af;
|
|
31
|
+
--color-separator: #e5e7eb;
|
|
32
|
+
|
|
33
|
+
/* ─── Text ─── */
|
|
34
|
+
--color-text: #111827;
|
|
35
|
+
--color-text-secondary: #374151;
|
|
36
|
+
--color-text-muted: #6b7280;
|
|
37
|
+
--color-text-disabled: #d1d5db;
|
|
38
|
+
--color-text-placeholder: #9ca3af;
|
|
39
|
+
|
|
40
|
+
/* ─── Interactive States ─── */
|
|
41
|
+
--color-highlight: #374151;
|
|
42
|
+
--color-on-highlight: #ffffff;
|
|
43
|
+
--color-focus-ring: #374151;
|
|
44
|
+
--color-skeleton: #e5e7eb;
|
|
45
|
+
|
|
46
|
+
/* ─── Misc ─── */
|
|
47
|
+
--color-indicator: #6b7280;
|
|
48
|
+
--color-disabled-bg: #9ca3af;
|
|
49
|
+
|
|
50
|
+
/* ─── Animations ─── */
|
|
8
51
|
--animate-accordion-up: accordion-up 350ms ease;
|
|
9
52
|
--animate-accordion-down: accordion-down 350ms ease;
|
|
10
53
|
--animate-fade-in: fade-in 350ms ease;
|
|
@@ -40,7 +40,7 @@ export const getTruncatedElements = ({ page, children, }) => {
|
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
if (paginationItems.length > 4) {
|
|
43
|
-
result.push(_jsx("span", { className: "flex h-10 w-10 items-center justify-center text-
|
|
43
|
+
result.push(_jsx("span", { className: "flex h-10 w-10 items-center justify-center text-text-muted", children: "..." }, "end-ellipsis"));
|
|
44
44
|
// Show last page
|
|
45
45
|
const lastItem = paginationItems[paginationItems.length - 1];
|
|
46
46
|
if (lastItem) {
|
|
@@ -55,7 +55,7 @@ export const getTruncatedElements = ({ page, children, }) => {
|
|
|
55
55
|
if (firstItem) {
|
|
56
56
|
result.push(_jsx(PaginationItem, { index: 1, children: firstItem.props.children }, "pagination-item-1"));
|
|
57
57
|
}
|
|
58
|
-
result.push(_jsx("span", { className: "flex h-10 w-10 items-center justify-center text-
|
|
58
|
+
result.push(_jsx("span", { className: "flex h-10 w-10 items-center justify-center text-text-muted", children: "..." }, "start-ellipsis"));
|
|
59
59
|
// Show last 4 pages
|
|
60
60
|
for (let i = paginationItems.length - 4; i < paginationItems.length; i++) {
|
|
61
61
|
const item = paginationItems[i];
|
|
@@ -71,7 +71,7 @@ export const getTruncatedElements = ({ page, children, }) => {
|
|
|
71
71
|
if (firstItem) {
|
|
72
72
|
result.push(_jsx(PaginationItem, { index: 1, children: firstItem.props.children }, "pagination-item-1"));
|
|
73
73
|
}
|
|
74
|
-
result.push(_jsx("span", { className: "flex h-10 w-10 items-center justify-center text-
|
|
74
|
+
result.push(_jsx("span", { className: "flex h-10 w-10 items-center justify-center text-text-muted", children: "..." }, "start-ellipsis"));
|
|
75
75
|
// Show 5 pages with current page in middle
|
|
76
76
|
for (let i = page - 2; i <= page + 2; i++) {
|
|
77
77
|
if (i > 1 && i < paginationItems.length) {
|
|
@@ -81,7 +81,7 @@ export const getTruncatedElements = ({ page, children, }) => {
|
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
|
-
result.push(_jsx("span", { className: "flex h-10 w-10 items-center justify-center text-
|
|
84
|
+
result.push(_jsx("span", { className: "flex h-10 w-10 items-center justify-center text-text-muted", children: "..." }, "end-ellipsis"));
|
|
85
85
|
const lastItem = paginationItems[paginationItems.length - 1];
|
|
86
86
|
if (lastItem) {
|
|
87
87
|
result.push(_jsx(PaginationItem, { index: paginationItems.length, children: lastItem.props.children }, `pagination-item-${paginationItems.length}`));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-truncated-elements.js","sourceRoot":"/","sources":["utilities/pagination/get-truncated-elements.tsx"],"names":[],"mappings":";AAAA,OAAO,EACN,cAAc,GAEd,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACN,QAAQ,EACR,cAAc,GAGd,MAAM,OAAO,CAAC;AAOf,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,EACpC,IAAI,EACJ,QAAQ,GACkB,EAAE,EAAE;IAC9B,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CACtC,CAAC,EAAE,EAA2C,EAAE,CAC/C,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK,cAAc,CACjD,CAAC;IAEF,IAAI,eAAe,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACjC,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;YACtC,IAAI,cAAc,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;gBAChE,MAAM,UAAU,GACf,QAAQ;qBACN,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;qBACf,MAAM,CACN,CAAC,EAAE,EAA2C,EAAE,CAC/C,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK,cAAc,CACjD,CAAC,MAAM,GAAG,CAAC,CAAC;gBACf,MAAM,YAAY,GAAG,OAA4C,CAAC;gBAClE,OAAO,CACN,KAAC,cAAc,IAEd,KAAK,EAAE,UAAU,YAEhB,YAAY,CAAC,KAAK,CAAC,QAAQ,IAHvB,mBAAmB,UAAU,EAAE,CAIpB,CACjB,CAAC;YACH,CAAC;YACD,OAAO,OAAO,CAAC;QAChB,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAgB,EAAE,CAAC;IAC/B,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,+CAA+C;IAC/C,OAAO,YAAY,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;QACvC,IACC,CAAC,cAAc,CAAC,OAAO,CAAC;YACxB,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,KAAK,cAAc,CAAC,EAC3D,CAAC;YACF,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACrB,YAAY,EAAE,CAAC;QAChB,CAAC;aAAM,CAAC;YACP,MAAM;QACP,CAAC;IACF,CAAC;IAED,+CAA+C;IAC/C,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;QACf,qBAAqB;QACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;YAChC,IAAI,IAAI,EAAE,CAAC;gBACV,MAAM,CAAC,IAAI,CACV,KAAC,cAAc,IAAkC,KAAK,EAAE,CAAC,GAAG,CAAC,YAC3D,IAAI,CAAC,KAAK,CAAC,QAAQ,IADA,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAE9B,CACjB,CAAC;YACH,CAAC;QACF,CAAC;QAED,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CACV,eAEC,SAAS,EAAC,
|
|
1
|
+
{"version":3,"file":"get-truncated-elements.js","sourceRoot":"/","sources":["utilities/pagination/get-truncated-elements.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n\tPaginationItem,\n\ttype PaginationItemProps,\n} from \"@components/pagination/pagination\";\nimport {\n\tChildren,\n\tisValidElement,\n\ttype ReactElement,\n\ttype ReactNode,\n} from \"react\";\n\ntype TruncatedElementsOptions = {\n\tpage: number;\n\tchildren: ReactNode;\n};\n\nexport const getTruncatedElements = ({\n\tpage,\n\tchildren,\n}: TruncatedElementsOptions) => {\n\tconst elements = Children.toArray(children);\n\tconst paginationItems = elements.filter(\n\t\t(el): el is ReactElement<PaginationItemProps> =>\n\t\t\tisValidElement(el) && el.type === PaginationItem,\n\t);\n\n\tif (paginationItems.length <= 7) {\n\t\treturn elements.map((element, index) => {\n\t\t\tif (isValidElement(element) && element.type === PaginationItem) {\n\t\t\t\tconst pageNumber =\n\t\t\t\t\telements\n\t\t\t\t\t\t.slice(0, index)\n\t\t\t\t\t\t.filter(\n\t\t\t\t\t\t\t(el): el is ReactElement<PaginationItemProps> =>\n\t\t\t\t\t\t\t\tisValidElement(el) && el.type === PaginationItem,\n\t\t\t\t\t\t).length + 1;\n\t\t\t\tconst elementProps = element as ReactElement<PaginationItemProps>;\n\t\t\t\treturn (\n\t\t\t\t\t<PaginationItem\n\t\t\t\t\t\tkey={`pagination-item-${pageNumber}`}\n\t\t\t\t\t\tindex={pageNumber}\n\t\t\t\t\t>\n\t\t\t\t\t\t{elementProps.props.children}\n\t\t\t\t\t</PaginationItem>\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn element;\n\t\t});\n\t}\n\n\tconst result: ReactNode[] = [];\n\tlet currentIndex = 0;\n\n\t// Add non-PaginationItem elements at the start\n\twhile (currentIndex < elements.length) {\n\t\tconst element = elements[currentIndex];\n\t\tif (\n\t\t\t!isValidElement(element) ||\n\t\t\t(isValidElement(element) && element.type !== PaginationItem)\n\t\t) {\n\t\t\tresult.push(element);\n\t\t\tcurrentIndex++;\n\t\t} else {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\t// Always show first 4 pages when in that range\n\tif (page <= 4) {\n\t\t// Show first 4 pages\n\t\tfor (let i = 0; i < 4; i++) {\n\t\t\tconst item = paginationItems[i];\n\t\t\tif (item) {\n\t\t\t\tresult.push(\n\t\t\t\t\t<PaginationItem key={`pagination-item-${i + 1}`} index={i + 1}>\n\t\t\t\t\t\t{item.props.children}\n\t\t\t\t\t</PaginationItem>,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tif (paginationItems.length > 4) {\n\t\t\tresult.push(\n\t\t\t\t<span\n\t\t\t\t\tkey=\"end-ellipsis\"\n\t\t\t\t\tclassName=\"flex h-10 w-10 items-center justify-center text-text-muted\"\n\t\t\t\t>\n\t\t\t\t\t...\n\t\t\t\t</span>,\n\t\t\t);\n\t\t\t// Show last page\n\t\t\tconst lastItem = paginationItems[paginationItems.length - 1];\n\t\t\tif (lastItem) {\n\t\t\t\tresult.push(\n\t\t\t\t\t<PaginationItem\n\t\t\t\t\t\tkey={`pagination-item-${paginationItems.length}`}\n\t\t\t\t\t\tindex={paginationItems.length}\n\t\t\t\t\t>\n\t\t\t\t\t\t{lastItem.props.children}\n\t\t\t\t\t</PaginationItem>,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\t// Always show last 4 pages when in that range\n\telse if (page > paginationItems.length - 4) {\n\t\t// Show first page\n\t\tconst firstItem = paginationItems[0];\n\t\tif (firstItem) {\n\t\t\tresult.push(\n\t\t\t\t<PaginationItem key=\"pagination-item-1\" index={1}>\n\t\t\t\t\t{firstItem.props.children}\n\t\t\t\t</PaginationItem>,\n\t\t\t);\n\t\t}\n\t\tresult.push(\n\t\t\t<span\n\t\t\t\tkey=\"start-ellipsis\"\n\t\t\t\tclassName=\"flex h-10 w-10 items-center justify-center text-text-muted\"\n\t\t\t>\n\t\t\t\t...\n\t\t\t</span>,\n\t\t);\n\t\t// Show last 4 pages\n\t\tfor (let i = paginationItems.length - 4; i < paginationItems.length; i++) {\n\t\t\tconst item = paginationItems[i];\n\t\t\tif (item) {\n\t\t\t\tresult.push(\n\t\t\t\t\t<PaginationItem key={`pagination-item-${i + 1}`} index={i + 1}>\n\t\t\t\t\t\t{item.props.children}\n\t\t\t\t\t</PaginationItem>,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\t// Show truncated view for middle pages\n\telse {\n\t\t// Show first page\n\t\tconst firstItem = paginationItems[0];\n\t\tif (firstItem) {\n\t\t\tresult.push(\n\t\t\t\t<PaginationItem key=\"pagination-item-1\" index={1}>\n\t\t\t\t\t{firstItem.props.children}\n\t\t\t\t</PaginationItem>,\n\t\t\t);\n\t\t}\n\n\t\tresult.push(\n\t\t\t<span\n\t\t\t\tkey=\"start-ellipsis\"\n\t\t\t\tclassName=\"flex h-10 w-10 items-center justify-center text-text-muted\"\n\t\t\t>\n\t\t\t\t...\n\t\t\t</span>,\n\t\t);\n\n\t\t// Show 5 pages with current page in middle\n\t\tfor (let i = page - 2; i <= page + 2; i++) {\n\t\t\tif (i > 1 && i < paginationItems.length) {\n\t\t\t\tconst item = paginationItems[i - 1];\n\t\t\t\tif (item) {\n\t\t\t\t\tresult.push(\n\t\t\t\t\t\t<PaginationItem key={`pagination-item-${i}`} index={i}>\n\t\t\t\t\t\t\t{item.props.children}\n\t\t\t\t\t\t</PaginationItem>,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tresult.push(\n\t\t\t<span\n\t\t\t\tkey=\"end-ellipsis\"\n\t\t\t\tclassName=\"flex h-10 w-10 items-center justify-center text-text-muted\"\n\t\t\t>\n\t\t\t\t...\n\t\t\t</span>,\n\t\t);\n\n\t\tconst lastItem = paginationItems[paginationItems.length - 1];\n\t\tif (lastItem) {\n\t\t\tresult.push(\n\t\t\t\t<PaginationItem\n\t\t\t\t\tkey={`pagination-item-${paginationItems.length}`}\n\t\t\t\t\tindex={paginationItems.length}\n\t\t\t\t>\n\t\t\t\t\t{lastItem.props.children}\n\t\t\t\t</PaginationItem>,\n\t\t\t);\n\t\t}\n\t}\n\n\t// Add remaining non-PaginationItem elements\n\twhile (currentIndex < elements.length) {\n\t\tconst element = elements[currentIndex];\n\t\tif (\n\t\t\t!isValidElement(element) ||\n\t\t\t(isValidElement(element) && element.type !== PaginationItem)\n\t\t) {\n\t\t\tresult.push(element);\n\t\t}\n\t\tcurrentIndex++;\n\t}\n\n\treturn result;\n};\n"]}
|