@customafk/lunas-ui 0.1.21 → 0.1.22
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/{button-CA-oI2jE.d.cts → button-Ba14PIai.d.cts} +6 -6
- package/dist/{button-Bj0Zyq_o.d.mts → button-CUGeT1GK.d.mts} +4 -4
- package/dist/cards/simple-card.d.cts +2 -2
- package/dist/data-display/empty.d.cts +2 -2
- package/dist/data-display/empty.d.mts +2 -2
- package/dist/data-display/statistic.d.cts +2 -2
- package/dist/data-display/statistic.d.mts +2 -2
- package/dist/{dialog-CgJtuxkI.d.cts → dialog-8aoULELR.d.mts} +12 -12
- package/dist/{dialog-B2LqBQBe.d.mts → dialog-C8mJLVri.d.cts} +12 -12
- package/dist/dialogs/detail-dialog/component/sidebar.d.cts +28 -28
- package/dist/dialogs/detail-dialog/component/sidebar.d.mts +28 -28
- package/dist/features/search-modal/index.d.cts +2 -2
- package/dist/features/search-modal/index.d.mts +2 -2
- package/dist/features/tables/index.cjs +1 -1
- package/dist/features/tables/index.cjs.map +1 -1
- package/dist/features/tables/index.d.cts +4 -4
- package/dist/features/tables/index.d.mts +1 -1
- package/dist/features/tables/index.mjs +1 -1
- package/dist/features/tables/index.mjs.map +1 -1
- package/dist/features/tanstack-form/index.d.cts +42 -42
- package/dist/features/tanstack-form/index.d.mts +42 -42
- package/dist/{input-HblKf2FN.d.cts → input-1o0BTTIO.d.cts} +6 -6
- package/dist/{input-ypKtEler.d.mts → input-BoKMcJTE.d.mts} +6 -6
- package/dist/layouts/app-layout/index.d.cts +28 -28
- package/dist/layouts/app-layout/index.d.mts +3 -3
- package/dist/layouts/flex.d.cts +6 -6
- package/dist/layouts/flex.d.mts +4 -4
- package/dist/layouts/service-layout/index.d.cts +3 -3
- package/dist/layouts/service-layout/index.d.mts +3 -3
- package/dist/pages/FeatureDeveloping.d.cts +2 -2
- package/dist/pages/FeatureDeveloping.d.mts +2 -2
- package/dist/pages/FeatureFixing.d.cts +2 -2
- package/dist/pages/FeatureFixing.d.mts +2 -2
- package/dist/pages/NotAuthorized.d.cts +2 -2
- package/dist/pages/NotAuthorized.d.mts +2 -2
- package/dist/pages/NotFound.d.cts +2 -2
- package/dist/pages/NotFound.d.mts +2 -2
- package/dist/{separator-BKOsMNEq.d.cts → separator-DbabJKZH.d.cts} +3 -3
- package/dist/{separator-CTVyWVSa.d.mts → separator-_UiQyA3X.d.mts} +3 -3
- package/dist/{tooltip-DeAzmFCB.d.cts → tooltip-CgqvSepd.d.mts} +6 -6
- package/dist/{tooltip-DwG-4f5Y.d.mts → tooltip-ChCHENRS.d.cts} +6 -6
- package/dist/typography/paragraph.d.cts +2 -2
- package/dist/typography/paragraph.d.mts +2 -2
- package/dist/typography/title.d.cts +2 -2
- package/dist/typography/title.d.mts +2 -2
- package/dist/ui/alert-dialog.d.cts +12 -12
- package/dist/ui/alert-dialog.d.mts +12 -12
- package/dist/ui/alert.d.cts +6 -6
- package/dist/ui/alert.d.mts +6 -6
- package/dist/ui/aspect-ratio.d.cts +2 -2
- package/dist/ui/aspect-ratio.d.mts +2 -2
- package/dist/ui/avatar.d.cts +4 -4
- package/dist/ui/avatar.d.mts +4 -4
- package/dist/ui/badge.d.cts +4 -4
- package/dist/ui/badge.d.mts +4 -4
- package/dist/ui/breadcrumb.d.cts +8 -8
- package/dist/ui/button-group.d.cts +5 -5
- package/dist/ui/button-group.d.mts +7 -7
- package/dist/ui/button.d.cts +1 -1
- package/dist/ui/button.d.mts +1 -1
- package/dist/ui/calendar.d.cts +4 -4
- package/dist/ui/calendar.d.mts +4 -4
- package/dist/ui/card.d.cts +8 -8
- package/dist/ui/card.d.mts +8 -8
- package/dist/ui/carousel.d.cts +7 -7
- package/dist/ui/carousel.d.mts +7 -7
- package/dist/ui/collapsible.d.cts +4 -4
- package/dist/ui/collapsible.d.mts +4 -4
- package/dist/ui/command.d.cts +11 -11
- package/dist/ui/command.d.mts +11 -11
- package/dist/ui/context-menu.d.cts +16 -16
- package/dist/ui/context-menu.d.mts +16 -16
- package/dist/ui/dialog.d.cts +1 -1
- package/dist/ui/dialog.d.mts +1 -1
- package/dist/ui/drawer.d.cts +11 -11
- package/dist/ui/drawer.d.mts +11 -11
- package/dist/ui/dropdown-menu.d.cts +16 -16
- package/dist/ui/dropdown-menu.d.mts +16 -16
- package/dist/ui/empty.d.cts +7 -7
- package/dist/ui/empty.d.mts +7 -7
- package/dist/ui/field.d.cts +24 -24
- package/dist/ui/field.d.mts +22 -22
- package/dist/ui/file-uploader.d.cts +2 -2
- package/dist/ui/file-uploader.d.mts +2 -2
- package/dist/ui/form.d.cts +11 -11
- package/dist/ui/form.d.mts +11 -11
- package/dist/ui/hover-card.d.cts +4 -4
- package/dist/ui/hover-card.d.mts +4 -4
- package/dist/ui/input-otp.d.cts +5 -5
- package/dist/ui/input-otp.d.mts +5 -5
- package/dist/ui/input.d.cts +1 -1
- package/dist/ui/input.d.mts +1 -1
- package/dist/ui/inputs/search-input.d.cts +3 -3
- package/dist/ui/inputs/search-input.d.mts +3 -3
- package/dist/ui/item.d.cts +17 -17
- package/dist/ui/item.d.mts +14 -14
- package/dist/ui/label.d.cts +2 -2
- package/dist/ui/label.d.mts +2 -2
- package/dist/ui/menubar.d.cts +17 -17
- package/dist/ui/menubar.d.mts +17 -17
- package/dist/ui/multi-select.d.cts +2 -2
- package/dist/ui/multi-select.d.mts +3 -3
- package/dist/ui/navigation-menu.d.cts +11 -11
- package/dist/ui/navigation-menu.d.mts +9 -9
- package/dist/ui/pagination.d.cts +9 -9
- package/dist/ui/pagination.d.mts +9 -9
- package/dist/ui/popover.d.cts +5 -5
- package/dist/ui/popover.d.mts +5 -5
- package/dist/ui/progress.d.cts +2 -2
- package/dist/ui/progress.d.mts +2 -2
- package/dist/ui/radio-group.d.cts +3 -3
- package/dist/ui/radio-group.d.mts +3 -3
- package/dist/ui/resizable.d.cts +4 -4
- package/dist/ui/resizable.d.mts +4 -4
- package/dist/ui/scroll-area.d.cts +6 -6
- package/dist/ui/scroll-area.d.mts +6 -6
- package/dist/ui/select.d.cts +11 -11
- package/dist/ui/select.d.mts +11 -11
- package/dist/ui/separator.d.cts +1 -1
- package/dist/ui/separator.d.mts +1 -1
- package/dist/ui/sheet.d.cts +9 -9
- package/dist/ui/sheet.d.mts +9 -9
- package/dist/ui/sidebar.d.cts +30 -30
- package/dist/ui/sidebar.d.mts +30 -30
- package/dist/ui/skeleton.d.cts +2 -2
- package/dist/ui/skeleton.d.mts +2 -2
- package/dist/ui/slider.d.cts +2 -2
- package/dist/ui/slider.d.mts +2 -2
- package/dist/ui/sonner.d.cts +2 -2
- package/dist/ui/sonner.d.mts +2 -2
- package/dist/ui/spinner.d.cts +2 -2
- package/dist/ui/spinner.d.mts +2 -2
- package/dist/ui/switch.d.cts +2 -2
- package/dist/ui/switch.d.mts +2 -2
- package/dist/ui/table.d.cts +18 -18
- package/dist/ui/table.d.mts +18 -18
- package/dist/ui/tabs.d.cts +5 -5
- package/dist/ui/tabs.d.mts +5 -5
- package/dist/ui/textarea.d.cts +2 -2
- package/dist/ui/textarea.d.mts +2 -2
- package/dist/ui/toggle-group.d.cts +3 -3
- package/dist/ui/toggle-group.d.mts +3 -3
- package/dist/ui/toggle.d.cts +4 -4
- package/dist/ui/toggle.d.mts +4 -4
- package/dist/ui/tooltip.d.cts +1 -1
- package/dist/ui/tooltip.d.mts +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":["UITableNameDisplay: React.FC<NameDisplayProps>","Tooltip","UITablePhoneNumberDisplay: React.FC<React.PropsWithChildren<{ value: string }>>","Tooltip","UITableUserDataDisplay: React.FC<Props>","Avatar","Checkbox","CheckboxPrimitive","UITableWrapper: React.FC<React.PropsWithChildren<React.ComponentProps<'div'>>>","UITableHeader: React.FC<React.PropsWithChildren>","UITableHeaderRow: React.FC<React.PropsWithChildren>","UITableHeaderCell: React.FC<\n React.PropsWithChildren<\n React.ComponentProps<'th'> & {\n header: Header<unknown, unknown>;\n isPinned: ColumnPinningPosition;\n isResizing: boolean;\n isAllRowsSelected: boolean;\n }\n >\n>","Checkbox","UITableHeaderCellOption: React.FC<{\n isPinned: ColumnPinningPosition;\n className?: string;\n isVisible?: boolean;\n onLeftPin: (pos: 'left' | 'right' | false) => void;\n onRightPin: (pos: 'left' | 'right' | false) => void;\n onUnpin: (pos: 'left' | 'right' | false) => void;\n onToggleVisibilityHandler: (visible: AnyEntity) => void;\n}>","DropdownMenu","UITableBody: React.FC<React.PropsWithChildren<React.ComponentProps<'tbody'> & { height: number }>>","UITableRow: React.FC<\n React.ComponentProps<'tr'> & {\n row: Row<unknown>;\n virtualRow: VirtualItem;\n rowVirtualizer: Virtualizer<HTMLDivElement, HTMLTableRowElement>;\n }\n>","UITableCell: React.FC<\n React.PropsWithChildren<\n React.ComponentProps<'td'> & {\n cell: Cell<unknown, unknown>;\n }\n >\n>","EmptyDisplay: React.FC","UITableFooter: React.FC<React.PropsWithChildren>","UITableContainer: React.FC<React.PropsWithChildren>","colSizes: { [key: string]: number | undefined }","ColumnVisibility: React.FC<{\n checked: boolean;\n title: string;\n onCheckedChange?: (checked: boolean) => void;\n}>","Checkbox","Separator","INITIAL_STATE: InitialTableState","UITableTooltipFilter: React.FC<React.ComponentProps<typeof Input>>","ActionButton: React.FC<React.PropsWithChildren>","UITableTooltipActions: React.FC","UITableTooltip: React.FC<React.PropsWithChildren>"],"sources":["../../../packages/components/features/tables/components/atoms/name-display.tsx","../../../packages/components/features/tables/components/atoms/phone-number.tsx","../../../packages/components/features/tables/components/atoms/user.tsx","../../../packages/components/ui/checkbox.tsx","../../../packages/components/features/tables/hooks/use-table-context.ts","../../../packages/components/features/tables/hooks/use-table-rows-context.ts","../../../packages/components/features/tables/components/table.tsx","../../../packages/components/features/tables/components/table/filter.tsx","../../../packages/components/features/tables/components/table/provider.tsx","../../../packages/components/features/tables/components/table/tooltip.tsx"],"sourcesContent":["import { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip';\n\nimport { Paragraph } from '@/components/typography/paragraph';\n\ntype NameDisplayProps = {\n name: string;\n};\n\nexport const UITableNameDisplay: React.FC<NameDisplayProps> = ({ name }) => {\n return (\n <Tooltip>\n <TooltipTrigger>\n <Paragraph variant=\"sm\" className=\"line-clamp-2 w-full truncate text-wrap pb-px text-start\">\n {name}\n </Paragraph>\n </TooltipTrigger>\n <TooltipContent align=\"start\" className=\"max-w-80 whitespace-pre-line text-wrap break-keep\">\n {name}\n </TooltipContent>\n </Tooltip>\n );\n};\n","import { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip';\n\nexport const UITablePhoneNumberDisplay: React.FC<React.PropsWithChildren<{ value: string }>> = ({ value }) => {\n return (\n <Tooltip>\n <TooltipTrigger asChild>\n <p className=\"font-number text-secondary-foreground text-sm tabular-nums\">{value.replace(/(\\d{3})(\\d{3})(\\d{4})/, '($1) $2-$3')}</p>\n </TooltipTrigger>\n <TooltipContent align=\"start\">\n <p className=\"tabular-nums\">{value.slice(1).replace(/(\\d{2})(\\d{3})(\\d{4})/, '(00) (+84) ($1) $2-$3')}</p>\n </TooltipContent>\n </Tooltip>\n );\n};\n","import { UserRoundIcon } from 'lucide-react';\n\nimport { colorHashLight } from '@customafk/react-toolkit/color-hash';\n\nimport { Avatar, AvatarFallback } from '@/components/ui/avatar';\n\nimport { Flex } from '@/components/layouts/flex';\nimport { Paragraph } from '@/components/typography/paragraph';\n\ntype Props = {\n uuid: string;\n username: string;\n email: string;\n};\n\nexport const UITableUserDataDisplay: React.FC<Props> = ({ uuid, username, email }) => {\n return (\n <Flex wrap={false} gap=\"sm\" padding=\"none\">\n <Avatar className=\"size-10 shadow-card\">\n <AvatarFallback style={{ backgroundColor: colorHashLight.hex(uuid) }}>\n <UserRoundIcon size={28} className=\"text-white\" />\n </AvatarFallback>\n </Avatar>\n <Flex vertical padding=\"none\" gap=\"none\" align=\"start\">\n <Paragraph className=\"font-medium text-sm text-text-positive\">{username}</Paragraph>\n <Paragraph variant=\"sm\" className=\"mt-0! text-text-positive-weak text-xs\">\n {email}\n </Paragraph>\n </Flex>\n </Flex>\n );\n};\n","'use client';\n\nimport { CheckIcon } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Checkbox as CheckboxPrimitive } from 'radix-ui';\n\nfunction Checkbox({ className, ...props }: React.ComponentProps<typeof CheckboxPrimitive.Root>) {\n return (\n <CheckboxPrimitive.Root\n data-slot=\"checkbox\"\n className={cn(\n 'peer border-border',\n 'size-4 shrink-0 cursor-pointer rounded border shadow-xs outline-none transition-shadow',\n 'data-[state=checked]:bg-primary',\n 'data-[state=checked]:text-text-negative-strong',\n 'data-[state=checked]:border-primary',\n 'focus-visible:border-primary-strong',\n 'focus-visible:ring-primary-weak',\n 'focus-visible:ring-3',\n 'aria-invalid:ring-danger-weak',\n 'aria-invalid:border-danger',\n 'disabled:cursor-not-allowed disabled:opacity-50',\n className\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator data-slot=\"checkbox-indicator\" className=\"flex items-center justify-center text-current transition-none\">\n <CheckIcon size={14} />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n );\n}\n\nexport { Checkbox };\n","import { createContext, use } from 'react';\n\nimport type { RowData } from '@tanstack/react-table';\n\nimport type { TTableContext } from '../types';\n\nexport const TableContext = createContext<TTableContext<RowData> | null>(null);\n\nexport const useUITableContext = <TData extends RowData>() => {\n const context = use(TableContext) as TTableContext<TData>;\n if (!context) {\n throw new Error('useTableContext must be used within a TableProvider');\n }\n return context;\n};\n","import { createContext, use } from 'react';\n\nimport type { Row, RowData } from '@tanstack/react-table';\n\nexport type TTableRowsContext<TData extends RowData> = {\n rowsLength: number;\n rows: Row<TData>[];\n};\n\nexport const TableRowsContext = createContext<TTableRowsContext<RowData> | null>(null);\nexport const useUITableRowsContext = <TData extends RowData>() => {\n const ctx = use(TableRowsContext) as TTableRowsContext<TData>;\n if (!ctx) {\n throw new Error('useTableRowContext must be used within a TableRowProvider');\n }\n return ctx;\n};\n","'use client';\nimport { Activity, memo, useCallback, useEffect, useMemo, useRef } from 'react';\n\nimport { type Cell, type Column, type ColumnPinningPosition, flexRender, type Header, type Row } from '@tanstack/react-table';\nimport { useVirtualizer, type VirtualItem, type Virtualizer } from '@tanstack/react-virtual';\n\nimport { BoxIcon, EllipsisVerticalIcon, EyeOffIcon, MoveLeftIcon, MoveRightIcon, PinOffIcon } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Checkbox } from '@/components/ui/checkbox';\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuTrigger,\n} from '@/components/ui/dropdown-menu';\nimport { ResizableHandle, ResizablePanel, ResizablePanelGroup } from '@/components/ui/resizable';\n\nimport type { ImperativePanelGroupHandle } from 'react-resizable-panels';\nimport type { AnyEntity } from '@/types';\nimport { useUITableContext } from '../hooks/use-table-context';\nimport { useUITableRowsContext } from '../hooks/use-table-rows-context';\n\nconst SELECT_WIDTH = 60;\nconst TABLE_HEADER_Z_INDEX = 20;\nconst PINNED_COLUMN_Z_INDEX = 20;\n\n//These are the important styles to make sticky column pinning work!\n//Apply styles like this using your CSS strategy of choice with this kind of logic to head cells, data cells, footer cells, etc.\n//View the index.css file for more needed styles such as border-collapse: separate\nconst getCommonPinningStyles = (column: Column<unknown>): React.CSSProperties => {\n const isPinned = column.getIsPinned();\n return {\n zIndex: isPinned ? PINNED_COLUMN_Z_INDEX : undefined,\n left: isPinned === 'left' ? `${column.getStart('left')}px` : undefined,\n right: isPinned === 'right' ? `${column.getAfter('right')}px` : undefined,\n position: isPinned ? 'sticky' : 'relative',\n };\n};\n\nexport const UITableWrapper: React.FC<React.PropsWithChildren<React.ComponentProps<'div'>>> = ({ className, children, ...props }) => {\n return (\n <div data-slot=\"table-wrapper\" className=\"relative m-0 flex size-full flex-col flex-nowrap items-start justify-start gap-2 py-2.5 text-sm\" {...props}>\n {children}\n </div>\n );\n};\n\nconst UITableHeader: React.FC<React.PropsWithChildren> = memo(({ children }) => {\n return (\n <thead\n data-slot=\"table-header\"\n style={{ zIndex: TABLE_HEADER_Z_INDEX }}\n className={cn(\n 'sticky top-0 grid bg-muted-bg-subtle text-sm text-text-positive',\n '[&_tr:not(:last-child)_td]:border-b',\n '[&_th]:flex',\n '[&_th]:h-10',\n '[&_th]:select-none',\n '[&_th]:items-center',\n '[&_th]:whitespace-nowrap',\n '[&_th]:border-border',\n '[&_th]:font-normal',\n '[&_th]:border-r',\n '[&_th]:border-b-border',\n '[&_th]:text-left',\n '[&_th]:align-middle',\n '[&_th]:last:border-r-0',\n '[&_th]:first:border-l-0',\n '[&_th]:data-[pinned=right]:border-l',\n '[&_th]:data-[pinned=right]:border-r-0',\n '[&_th]:data-[pinned=left]:border-r',\n '[&_tr_th:not([data-pinned=false])]:bg-muted-bg-subtle'\n )}\n >\n {children}\n </thead>\n );\n});\nUITableHeader.displayName = 'TableHeader';\n\nconst UITableHeaderRow: React.FC<React.PropsWithChildren> = memo(({ children }) => {\n return (\n <tr data-slot=\"table-header-row\" className=\"flex w-full border-border border-b shadow\">\n {children}\n </tr>\n );\n});\nUITableHeaderRow.displayName = 'TableHeaderRow';\n\nconst UITableHeaderCell: React.FC<\n React.PropsWithChildren<\n React.ComponentProps<'th'> & {\n header: Header<unknown, unknown>;\n isPinned: ColumnPinningPosition;\n isResizing: boolean;\n isAllRowsSelected: boolean;\n }\n >\n> = ({ header, isPinned, isResizing, isAllRowsSelected, children, ...props }) => {\n const style = getCommonPinningStyles(header.column);\n const width = `calc(var(--header-${header.id}-size) * 1px)`;\n\n if (header.id === 'select') {\n return (\n <th data-slot=\"table-header-cell\" style={{ ...style, width: SELECT_WIDTH }} className=\"relative\" {...props}>\n <div className=\"absolute inset-0 flex items-center justify-center\">\n <Checkbox\n aria-label=\"Select All Rows\"\n checked={isAllRowsSelected}\n onCheckedChange={value => {\n header.getContext().table.toggleAllRowsSelected(!!value);\n }}\n />\n </div>\n </th>\n );\n }\n return (\n <th data-slot=\"table-header-cell\" data-pinned={isPinned} style={{ ...style, width }} colSpan={header.colSpan} className={cn('group relative')} {...props}>\n <div className=\"absolute inset-0 gap-1 truncate\">\n <div className=\"flex h-full flex-1 cursor-pointer select-none items-center justify-between\">\n <div className=\"flex size-full flex-1 items-center truncate pl-4\">{flexRender(header.column.columnDef.header, header.getContext())}</div>\n </div>\n </div>\n {!['select', 'actions'].includes(header.id) && (\n <UITableHeaderCellOption\n isPinned={isPinned}\n isVisible={header.column.getIsVisible()}\n className=\"invisible absolute right-2 z-10 group-hover:visible\"\n onLeftPin={header.column.pin}\n onRightPin={header.column.pin}\n onUnpin={header.column.pin}\n onToggleVisibilityHandler={header.column.toggleVisibility}\n />\n )}\n <Activity mode={isPinned ? 'hidden' : 'visible'}>\n <div\n onDoubleClick={header.column.resetSize}\n onMouseDown={header.getResizeHandler()}\n onTouchStart={header.getResizeHandler()}\n className={cn('absolute inset-y-0 -right-0.5 w-1 cursor-e-resize bg-transparent hover:bg-border', isResizing && 'bg-border')}\n />\n </Activity>\n </th>\n );\n};\n\nconst UITableHeaderCellOption: React.FC<{\n isPinned: ColumnPinningPosition;\n className?: string;\n isVisible?: boolean;\n onLeftPin: (pos: 'left' | 'right' | false) => void;\n onRightPin: (pos: 'left' | 'right' | false) => void;\n onUnpin: (pos: 'left' | 'right' | false) => void;\n onToggleVisibilityHandler: (visible: AnyEntity) => void;\n}> = ({ isPinned, className, onLeftPin, onRightPin, onUnpin, onToggleVisibilityHandler }) => {\n const handleLeftPin = useCallback(() => {\n onLeftPin('left');\n }, [onLeftPin]);\n\n const handleRightPin = useCallback(() => {\n onRightPin('right');\n }, [onRightPin]);\n\n const handleUnpin = useCallback(() => {\n onUnpin(false);\n }, [onUnpin]);\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <button\n className={cn('cursor-pointer rounded-full p-0.5 text-text-positive-weak hover:bg-muted-muted hover:text-text-positive [&>svg]:size-4', className)}\n >\n <EllipsisVerticalIcon />\n </button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\" className=\"w-64 p-4\">\n <DropdownMenuGroup className=\"*:data-[slot=dropdown-menu-item]:rounded-xs *:data-[slot=dropdown-menu-item]:p-2\">\n <Activity mode={isPinned ? 'visible' : 'hidden'}>\n <DropdownMenuItem onClick={handleUnpin}>\n {!!isPinned && 'Unpin'}\n <DropdownMenuShortcut>\n <PinOffIcon className=\"size-4\" />\n </DropdownMenuShortcut>\n </DropdownMenuItem>\n </Activity>\n <Activity mode={!isPinned ? 'visible' : 'hidden'}>\n <DropdownMenuItem onClick={handleLeftPin}>\n {isPinned ? 'Unpin' : 'Pin to Left'}\n <DropdownMenuShortcut>\n <MoveLeftIcon className=\"size-4\" />\n </DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem onClick={handleRightPin}>\n {isPinned ? 'Unpin' : 'Pin to Right'}\n <DropdownMenuShortcut>\n <MoveRightIcon className=\"size-4\" />\n </DropdownMenuShortcut>\n </DropdownMenuItem>\n </Activity>\n </DropdownMenuGroup>\n <DropdownMenuSeparator />\n <DropdownMenuGroup className=\"*:data-[slot=dropdown-menu-item]:rounded-xs *:data-[slot=dropdown-menu-item]:p-2\">\n <DropdownMenuItem onClick={() => onToggleVisibilityHandler(false)}>\n Hide Field\n <DropdownMenuShortcut>\n <EyeOffIcon className=\"size-4\" />\n </DropdownMenuShortcut>\n </DropdownMenuItem>\n </DropdownMenuGroup>\n </DropdownMenuContent>\n </DropdownMenu>\n );\n};\n\nconst UITableBody: React.FC<React.PropsWithChildren<React.ComponentProps<'tbody'> & { height: number }>> = ({ height, children, ...props }) => {\n return (\n <tbody\n data-slot=\"table-body\"\n style={{ height: `${height}px` }}\n className={cn(\n 'relative grid w-full',\n '[&_tr]:absolute [&_tr]:flex [&_tr]:w-full [&_tr]:cursor-pointer [&_tr]:border-b [&_tr]:border-b-border [&_tr]:focus:outline-none',\n '[&_td]:z-10',\n '[&_td]:flex',\n '[&_td]:overflow-hidden',\n '[&_td]:whitespace-nowrap',\n '[&_td]:px-4',\n '[&_td]:py-2.5',\n '[&_td]:align-middle',\n '[&_td]:border-border',\n '[&_td]:data-[pinned=right]:border-l',\n '[&_td]:data-[pinned=left]:border-r',\n '[&_td:not([data-pinned=false])]:bg-card',\n '[&_td:not([data-pinned=false])]:shadow-xs'\n )}\n {...props}\n >\n {children}\n </tbody>\n );\n};\n\nconst UITableRow: React.FC<\n React.ComponentProps<'tr'> & {\n row: Row<unknown>;\n virtualRow: VirtualItem;\n rowVirtualizer: Virtualizer<HTMLDivElement, HTMLTableRowElement>;\n }\n> = memo(({ children, row, virtualRow, rowVirtualizer, className, ...props }) => {\n const { columnPinning: _ } = useUITableContext();\n return (\n <tr\n data-slot=\"table-row\"\n data-index={virtualRow.index}\n ref={node => rowVirtualizer.measureElement(node)}\n style={{\n transform: `translateY(${virtualRow.start}px)`,\n }}\n className={cn('group', className)}\n {...props}\n >\n {row.getVisibleCells().map(cell => {\n return <UITableCell key={cell.id} cell={cell} className=\"group-hover:bg-muted-bg-subtle!\" />;\n })}\n </tr>\n );\n});\nUITableRow.displayName = 'TableRow';\n\nconst UITableCell: React.FC<\n React.PropsWithChildren<\n React.ComponentProps<'td'> & {\n cell: Cell<unknown, unknown>;\n }\n >\n> = memo(({ cell, children, className, ...props }) => {\n const { rowSelection: _ } = useUITableContext();\n const isPinned = cell.column.getIsPinned();\n const style = getCommonPinningStyles(cell.column);\n const width = `calc(var(--col-${cell.column.id}-size) * 1px)`;\n if (isPinned) {\n console.log('Pinned Cell Rendered:', cell.column.getPinnedIndex());\n }\n\n if (cell.column.id === 'select') {\n return (\n <td data-slot=\"table-cell\" style={{ ...style, width: SELECT_WIDTH }} className={cn('border-none! bg-transparent! shadow-none!', className)} {...props}>\n <div className=\"absolute inset-0 flex items-center justify-center bg-transparent\">\n <Checkbox\n aria-label=\"Select Row\"\n checked={cell.row.getIsSelected()}\n onCheckedChange={value => {\n cell.row.toggleSelected(!!value);\n }}\n />\n </div>\n </td>\n );\n }\n\n return (\n <td\n data-slot=\"table-cell\"\n data-pinned={isPinned}\n style={{ ...style, width }}\n className={cn(isPinned && cell.column.getPinnedIndex() === 0 && 'shadow!', className)}\n {...props}\n >\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </td>\n );\n});\nUITableCell.displayName = 'TableCell';\n\nconst EmptyDisplay: React.FC = () => {\n return (\n <div className=\"sticky left-0 flex flex-1 items-center justify-center bg-transparent text-text-positive-weak opacity-100\">\n <div className=\"flex flex-col items-center gap-1\">\n <BoxIcon strokeWidth={1} size={48} />\n <p>No data available</p>\n </div>\n </div>\n );\n};\n\nexport const UITableFooter: React.FC<React.PropsWithChildren> = ({ children }) => {\n return (\n <tfoot data-slot=\"table-footer\" className=\"flex w-full justify-center border-border-weak border-t py-2 font-medium [&>tr]:last:border-b-0\">\n {children}\n </tfoot>\n );\n};\n\nexport const UITableContainer: React.FC<React.PropsWithChildren> = ({ children }) => {\n const { table, isEmpty, isFetching, totalRows, fetchMoreData } = useUITableContext();\n const { rows, rowsLength } = useUITableRowsContext();\n\n const tableContainerRef = useRef<ImperativePanelGroupHandle | null>(null);\n const tableRef = useRef<HTMLTableElement | null>(null);\n\n /**\n * Instead of calling `column.getSize()` on every render for every header\n * and especially every data cell (very expensive),\n * we will calculate all column sizes at once at the root table level in a useMemo\n * and pass the column sizes down as CSS variables to the <table> element.\n */\n // biome-ignore lint/correctness/useExhaustiveDependencies: <table> element.\n const columnSizeVars = useMemo(() => {\n const headers = table.getFlatHeaders();\n const colSizes: { [key: string]: number | undefined } = {};\n headers.forEach(header => {\n colSizes[`--header-${header.id}-size`] = header.getSize() || 0;\n colSizes[`--col-${header.column.id}-size`] = header.column.getSize() || 0;\n });\n return colSizes;\n }, [table.getState().columnSizingInfo, table.getState().columnSizing]);\n\n // Important: Keep the row virtualizer in the lowest component possible to avoid unnecessary re-renders.\n const rowVirtualizer = useVirtualizer<HTMLDivElement, HTMLTableRowElement>({\n count: rowsLength,\n getScrollElement: () => tableRef.current,\n estimateSize: () => 40, // estimated row height\n measureElement: element => element?.getBoundingClientRect().height,\n overscan: 2, // Render additional rows beyond viewport for smoother scrolling\n });\n\n //called on scroll and possibly on mount to fetch more data as the user scrolls and reaches bottom of table\n const fetchMoreOnButtonReached = useCallback(\n async (containerRefEl?: HTMLTableElement | null) => {\n if (!containerRefEl) return null;\n const { scrollHeight, scrollTop, clientHeight } = containerRefEl;\n //once the user has scrolled within 500px of the bottom of the table, fetch more data if we can\n if (scrollHeight - scrollTop - clientHeight < 500 && !isFetching && totalRows && rowsLength < totalRows) {\n await fetchMoreData?.();\n }\n },\n [isFetching, rowsLength, totalRows, fetchMoreData]\n );\n\n //a check on mount and after a fetch to see if the table is already scrolled to the bottom and immediately needs to fetch more data\n useEffect(() => {\n fetchMoreOnButtonReached(tableRef.current);\n }, [fetchMoreOnButtonReached]);\n\n return (\n <ResizablePanelGroup\n ref={tableContainerRef}\n direction=\"horizontal\"\n style={{ direction: table.options.columnResizeDirection }}\n className=\"relative flex w-full max-w-full flex-1 gap-1 overflow-auto border-t border-t-border bg-slate-50 p-0 text-sm\"\n >\n <ResizablePanel className=\"overflow-auto\">\n <table\n ref={tableRef}\n data-slot=\"table\"\n style={{\n ...columnSizeVars,\n width: table.getTotalSize(),\n }}\n className=\"grid size-full max-w-full caption-bottom border-collapse border-spacing-0 flex-col content-start overflow-auto bg-card text-sm tabular-nums [&_tfoot_td]:border-t\"\n >\n <UITableHeader>\n {table.getHeaderGroups().map(headerGroup => (\n <UITableHeaderRow key={headerGroup.id}>\n {headerGroup.headers.map(header => (\n <UITableHeaderCell\n key={header.id}\n header={header}\n isPinned={header.column.getIsPinned()}\n isResizing={header.column.getIsResizing()}\n isAllRowsSelected={table.getIsAllRowsSelected()}\n />\n ))}\n </UITableHeaderRow>\n ))}\n </UITableHeader>\n <UITableBody data-slot=\"table-body\" height={rowVirtualizer.getTotalSize()}>\n {rowVirtualizer.getVirtualItems().map(virtualRow => {\n const row = rows[virtualRow.index] as Row<AnyEntity>;\n return <UITableRow key={row.id} data-index={virtualRow.index} row={row} virtualRow={virtualRow} rowVirtualizer={rowVirtualizer} />;\n })}\n </UITableBody>\n </table>\n {isEmpty && <EmptyDisplay />}\n </ResizablePanel>\n <ResizableHandle />\n {children}\n </ResizablePanelGroup>\n );\n};\n","import { Activity, useState } from 'react';\n\nimport { Columns4Icon, ListFilterIcon, ListFilterPlus } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Button } from '@/components/ui/button';\nimport { Checkbox } from '@/components/ui/checkbox';\nimport { ResizablePanel } from '@/components/ui/resizable';\nimport { Separator } from '@/components/ui/separator';\n\nimport { useUITableContext } from '../../hooks/use-table-context';\n\nconst ColumnVisibility: React.FC<{\n checked: boolean;\n title: string;\n onCheckedChange?: (checked: boolean) => void;\n}> = ({ checked, title, onCheckedChange }) => {\n return (\n <div className=\"flex h-fit items-center gap-2\">\n <Checkbox checked={checked} onCheckedChange={onCheckedChange} />\n <p className=\"text-sm\">{title}</p>\n </div>\n );\n};\n\nexport const UITableFilter = () => {\n const { table } = useUITableContext();\n const [tab, setTab] = useState<'columns' | 'filters' | null>(null);\n\n return (\n <ResizablePanel defaultSize={25} className={cn('bg-card', tab === null ? 'max-w-8!' : 'min-w-64')}>\n <div className=\"relative z-20 flex size-full bg-muted-bg-subtle\">\n <div className=\"flex-1\">\n <Activity mode={tab === 'columns' ? 'visible' : 'hidden'}>\n <div className=\"flex size-full flex-col gap-2 p-4\">\n <p className=\"px-2 font-medium\">Columns Visibility</p>\n <Separator />\n <div className=\"flex flex-col gap-4 pt-4\">\n {table.getAllColumns().map(column => {\n if (['select', 'actions'].includes(column.id)) return null;\n return (\n <ColumnVisibility\n key={column.id}\n checked={column.getIsVisible()}\n title={String(column.columnDef.header)}\n onCheckedChange={value => column.toggleVisibility(!!value)}\n />\n );\n })}\n </div>\n </div>\n </Activity>\n <Activity mode={tab === 'filters' ? 'visible' : 'hidden'}>\n <div className=\"flex size-full flex-col p-2\">\n <Button variant=\"outline\" color=\"muted\">\n <ListFilterPlus />\n Add Filter\n </Button>\n </div>\n </Activity>\n </div>\n <div className=\"flex h-full flex-col border-border border-l bg-muted-bg-subtle text-sm\">\n <button\n className={cn('flex h-32 cursor-pointer flex-col items-center gap-y-2 p-2 py-4', tab === 'columns' && 'bg-card')}\n onClick={() => setTab(tab === 'columns' ? null : 'columns')}\n >\n <Columns4Icon size={18} />\n <span className=\"text-nowrap [writing-mode:vertical-lr]\">Columns</span>\n </button>\n <Separator />\n <button\n className={cn('flex h-32 cursor-pointer flex-col items-center gap-y-2 p-2 py-4', tab === 'filters' && 'bg-card')}\n onClick={() => setTab(tab === 'filters' ? null : 'filters')}\n >\n <ListFilterIcon size={18} />\n <span className=\"text-nowrap [writing-mode:vertical-lr]\">Filters</span>\n </button>\n <Separator />\n </div>\n </div>\n </ResizablePanel>\n );\n};\n","import { useMemo, useState } from 'react';\n\nimport type { ColumnPinningState, InitialTableState, RowData, RowSelectionState, VisibilityState } from '@tanstack/react-table';\nimport { getCoreRowModel, useReactTable } from '@tanstack/react-table';\n\nimport { TableContext } from '../../hooks/use-table-context';\nimport { TableRowsContext, type TTableRowsContext } from '../../hooks/use-table-rows-context';\nimport type { TableProviderProps, TTableContext } from '../../types';\n\nconst INITIAL_STATE: InitialTableState = {\n columnPinning: { right: ['actions'] },\n};\n\nexport const UITableProvider = <TData extends RowData>({\n title,\n isFetching = false,\n data,\n columns,\n totalRows,\n\n fetchMoreData,\n children,\n}: React.PropsWithChildren<TableProviderProps<TData>>) => {\n const [rowSelection, setRowSelection] = useState<RowSelectionState>({});\n const [columnPinning, setColumnPinning] = useState<ColumnPinningState>({ right: ['actions'] });\n const [columnVisibility, setColumnVisibility] = useState<VisibilityState>({});\n\n const table = useReactTable<TData>({\n initialState: INITIAL_STATE,\n data: data,\n columns,\n state: {\n rowSelection,\n columnPinning,\n columnVisibility,\n },\n defaultColumn: {\n minSize: 40,\n size: 150,\n maxSize: 800,\n },\n columnResizeMode: 'onChange',\n columnResizeDirection: 'ltr',\n\n enableRowSelection: true,\n enableColumnResizing: true,\n enableMultiRowSelection: true,\n\n getCoreRowModel: getCoreRowModel(),\n\n onRowSelectionChange: setRowSelection,\n onColumnPinningChange: setColumnPinning,\n onColumnVisibilityChange: setColumnVisibility,\n });\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: rows\n const rows = useMemo(() => {\n return table.getRowModel().rows;\n }, [table.getState().columnPinning]);\n\n const isEmpty = useMemo<boolean>(() => {\n return !isFetching && table.getRowModel().rows.length === 0;\n }, [table, isFetching]);\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: table get state\n const value = useMemo<TTableContext<TData>>(\n () => ({\n table,\n title,\n isEmpty,\n isFetching,\n\n totalRows,\n\n rowSelection: table.getState().rowSelection,\n\n columnPinning: table.getState().columnPinning,\n\n fetchMoreData,\n }),\n [\n table,\n data,\n title,\n\n isEmpty,\n isFetching,\n\n totalRows,\n\n fetchMoreData,\n\n table.getState().columnVisibility,\n\n table.getState().rowSelection,\n table.getState().columnPinning,\n ]\n );\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: rows\n const rowsValue = useMemo<TTableRowsContext<TData>>(\n () => ({\n rowsLength: rows.length,\n rows,\n }),\n [rows, table.getState().rowSelection, table.getState().columnPinning, table.getState().columnSizing]\n );\n\n return (\n <TableContext.Provider value={value as TTableContext<unknown>}>\n <TableRowsContext.Provider value={rowsValue as TTableRowsContext<unknown>}>{children}</TableRowsContext.Provider>\n </TableContext.Provider>\n );\n};\n","import { ArrowRightIcon, CirclePlus, DownloadIcon, RefreshCwIcon, SearchIcon } from 'lucide-react';\n\nimport { Input } from '@/components/ui/input';\n\nimport { useUITableContext } from '../../hooks/use-table-context';\n\nexport const UITableTooltipFilter: React.FC<React.ComponentProps<typeof Input>> = ({ className: _, ...props }) => {\n return (\n <div className=\"relative\">\n <Input {...props} size=\"lg\" type=\"search\" placeholder=\"Search records...\" className=\"ps-9 pe-9\" />\n <div className=\"pointer-events-none absolute inset-y-0 start-0 flex items-center justify-center ps-3 text-text-positive-weak peer-disabled:opacity-50\">\n <SearchIcon size={16} />\n </div>\n <button\n className=\"absolute inset-y-0 end-0 flex h-full w-9 items-center justify-center rounded-e-md text-text-positive-weak outline-none transition-[color,box-shadow] hover:text-text-positive focus:z-10 focus-visible:border focus-visible:border-primary-strong focus-visible:ring-[3px] focus-visible:ring-primary-weak disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50\"\n aria-label=\"Submit search\"\n type=\"submit\"\n >\n <ArrowRightIcon size={16} aria-hidden=\"true\" />\n </button>\n </div>\n );\n};\n\nconst ActionButton: React.FC<React.PropsWithChildren> = ({ children }) => {\n return (\n <button className=\"flex cursor-pointer items-center gap-x-1 rounded-sm border border-border bg-background p-2.5 text-sm text-text-positive-weak outline-none transition-all hover:shadow-card focus:border-border-emphasis focus:bg-muted-muted active:border-border-emphasis active:bg-muted-muted active:text-text-positive [&_svg]:size-3.5\">\n {children}\n </button>\n );\n};\n\nexport const UITableTooltipActions: React.FC = () => {\n return (\n <div className=\"flex [&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none\">\n <ActionButton>\n <CirclePlus />\n </ActionButton>\n <ActionButton>\n <RefreshCwIcon />\n </ActionButton>\n <ActionButton>\n <DownloadIcon />\n </ActionButton>\n </div>\n );\n};\n\nexport const UITableTooltip: React.FC<React.PropsWithChildren> = ({ children }) => {\n const { title } = useUITableContext();\n return (\n <div data-slot=\"table-tooltip\" className=\"relative m-0 flex w-full flex-0 flex-col flex-wrap items-start space-y-2 p-0 px-2 text-sm\">\n <h3 className=\"font-semibold text-base text-text-positive\">{title}</h3>\n <div className=\"flex w-full flex-1 justify-between\">{children}</div>\n </div>\n );\n};\nUITableTooltip.displayName = 'TableTooltip';\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["UITableNameDisplay: React.FC<NameDisplayProps>","Tooltip","UITablePhoneNumberDisplay: React.FC<React.PropsWithChildren<{ value: string }>>","Tooltip","UITableUserDataDisplay: React.FC<Props>","Avatar","Checkbox","CheckboxPrimitive","UITableWrapper: React.FC<React.PropsWithChildren<React.ComponentProps<'div'>>>","UITableHeader: React.FC<React.PropsWithChildren>","UITableHeaderRow: React.FC<React.PropsWithChildren>","UITableHeaderCell: React.FC<\n React.PropsWithChildren<\n React.ComponentProps<'th'> & {\n header: Header<unknown, unknown>;\n isPinned: ColumnPinningPosition;\n isResizing: boolean;\n isAllRowsSelected: boolean;\n }\n >\n>","Checkbox","UITableHeaderCellOption: React.FC<{\n isPinned: ColumnPinningPosition;\n className?: string;\n isVisible?: boolean;\n onLeftPin: (pos: 'left' | 'right' | false) => void;\n onRightPin: (pos: 'left' | 'right' | false) => void;\n onUnpin: (pos: 'left' | 'right' | false) => void;\n onToggleVisibilityHandler: (visible: AnyEntity) => void;\n}>","DropdownMenu","UITableBody: React.FC<React.PropsWithChildren<React.ComponentProps<'tbody'> & { height: number }>>","UITableRow: React.FC<\n React.ComponentProps<'tr'> & {\n row: Row<unknown>;\n virtualRow: VirtualItem;\n rowVirtualizer: Virtualizer<HTMLDivElement, HTMLTableRowElement>;\n }\n>","UITableCell: React.FC<\n React.PropsWithChildren<\n React.ComponentProps<'td'> & {\n cell: Cell<unknown, unknown>;\n }\n >\n>","EmptyDisplay: React.FC","UITableFooter: React.FC<React.PropsWithChildren>","UITableContainer: React.FC<React.PropsWithChildren>","colSizes: { [key: string]: number | undefined }","ColumnVisibility: React.FC<{\n checked: boolean;\n title: string;\n onCheckedChange?: (checked: boolean) => void;\n}>","Checkbox","Separator","INITIAL_STATE: InitialTableState","UITableTooltipFilter: React.FC<React.ComponentProps<typeof Input>>","ActionButton: React.FC<React.PropsWithChildren>","UITableTooltipActions: React.FC","UITableTooltip: React.FC<React.PropsWithChildren>"],"sources":["../../../packages/components/features/tables/components/atoms/name-display.tsx","../../../packages/components/features/tables/components/atoms/phone-number.tsx","../../../packages/components/features/tables/components/atoms/user.tsx","../../../packages/components/ui/checkbox.tsx","../../../packages/components/features/tables/hooks/use-table-context.ts","../../../packages/components/features/tables/hooks/use-table-rows-context.ts","../../../packages/components/features/tables/components/table.tsx","../../../packages/components/features/tables/components/table/filter.tsx","../../../packages/components/features/tables/components/table/provider.tsx","../../../packages/components/features/tables/components/table/tooltip.tsx"],"sourcesContent":["import { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip';\n\nimport { Paragraph } from '@/components/typography/paragraph';\n\ntype NameDisplayProps = {\n name: string;\n};\n\nexport const UITableNameDisplay: React.FC<NameDisplayProps> = ({ name }) => {\n return (\n <Tooltip>\n <TooltipTrigger>\n <Paragraph variant=\"sm\" className=\"line-clamp-2 w-full truncate text-wrap pb-px text-start\">\n {name}\n </Paragraph>\n </TooltipTrigger>\n <TooltipContent align=\"start\" className=\"max-w-80 whitespace-pre-line text-wrap break-keep\">\n {name}\n </TooltipContent>\n </Tooltip>\n );\n};\n","import { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip';\n\nexport const UITablePhoneNumberDisplay: React.FC<React.PropsWithChildren<{ value: string }>> = ({ value }) => {\n return (\n <Tooltip>\n <TooltipTrigger asChild>\n <p className=\"font-number text-secondary-foreground text-sm tabular-nums\">{value.replace(/(\\d{3})(\\d{3})(\\d{4})/, '($1) $2-$3')}</p>\n </TooltipTrigger>\n <TooltipContent align=\"start\">\n <p className=\"tabular-nums\">{value.slice(1).replace(/(\\d{2})(\\d{3})(\\d{4})/, '(00) (+84) ($1) $2-$3')}</p>\n </TooltipContent>\n </Tooltip>\n );\n};\n","import { UserRoundIcon } from 'lucide-react';\n\nimport { colorHashLight } from '@customafk/react-toolkit/color-hash';\n\nimport { Avatar, AvatarFallback } from '@/components/ui/avatar';\n\nimport { Flex } from '@/components/layouts/flex';\nimport { Paragraph } from '@/components/typography/paragraph';\n\ntype Props = {\n uuid: string;\n username: string;\n email: string;\n};\n\nexport const UITableUserDataDisplay: React.FC<Props> = ({ uuid, username, email }) => {\n return (\n <Flex wrap={false} gap=\"sm\" padding=\"none\">\n <Avatar className=\"size-10 shadow-card\">\n <AvatarFallback style={{ backgroundColor: colorHashLight.hex(uuid) }}>\n <UserRoundIcon size={28} className=\"text-white\" />\n </AvatarFallback>\n </Avatar>\n <Flex vertical padding=\"none\" gap=\"none\" align=\"start\">\n <Paragraph className=\"font-medium text-sm text-text-positive\">{username}</Paragraph>\n <Paragraph variant=\"sm\" className=\"mt-0! text-text-positive-weak text-xs\">\n {email}\n </Paragraph>\n </Flex>\n </Flex>\n );\n};\n","'use client';\n\nimport { CheckIcon } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Checkbox as CheckboxPrimitive } from 'radix-ui';\n\nfunction Checkbox({ className, ...props }: React.ComponentProps<typeof CheckboxPrimitive.Root>) {\n return (\n <CheckboxPrimitive.Root\n data-slot=\"checkbox\"\n className={cn(\n 'peer border-border',\n 'size-4 shrink-0 cursor-pointer rounded border shadow-xs outline-none transition-shadow',\n 'data-[state=checked]:bg-primary',\n 'data-[state=checked]:text-text-negative-strong',\n 'data-[state=checked]:border-primary',\n 'focus-visible:border-primary-strong',\n 'focus-visible:ring-primary-weak',\n 'focus-visible:ring-3',\n 'aria-invalid:ring-danger-weak',\n 'aria-invalid:border-danger',\n 'disabled:cursor-not-allowed disabled:opacity-50',\n className\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator data-slot=\"checkbox-indicator\" className=\"flex items-center justify-center text-current transition-none\">\n <CheckIcon size={14} />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n );\n}\n\nexport { Checkbox };\n","import { createContext, use } from 'react';\n\nimport type { RowData } from '@tanstack/react-table';\n\nimport type { TTableContext } from '../types';\n\nexport const TableContext = createContext<TTableContext<RowData> | null>(null);\n\nexport const useUITableContext = <TData extends RowData>() => {\n const context = use(TableContext) as TTableContext<TData>;\n if (!context) {\n throw new Error('useTableContext must be used within a TableProvider');\n }\n return context;\n};\n","import { createContext, use } from 'react';\n\nimport type { Row, RowData } from '@tanstack/react-table';\n\nexport type TTableRowsContext<TData extends RowData> = {\n rowsLength: number;\n rows: Row<TData>[];\n};\n\nexport const TableRowsContext = createContext<TTableRowsContext<RowData> | null>(null);\nexport const useUITableRowsContext = <TData extends RowData>() => {\n const ctx = use(TableRowsContext) as TTableRowsContext<TData>;\n if (!ctx) {\n throw new Error('useTableRowContext must be used within a TableRowProvider');\n }\n return ctx;\n};\n","'use client';\nimport { Activity, memo, useCallback, useEffect, useMemo, useRef } from 'react';\n\nimport { type Cell, type Column, type ColumnPinningPosition, flexRender, type Header, type Row } from '@tanstack/react-table';\nimport { useVirtualizer, type VirtualItem, type Virtualizer } from '@tanstack/react-virtual';\n\nimport { BoxIcon, EllipsisVerticalIcon, EyeOffIcon, MoveLeftIcon, MoveRightIcon, PinOffIcon } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Checkbox } from '@/components/ui/checkbox';\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuTrigger,\n} from '@/components/ui/dropdown-menu';\nimport { ResizableHandle, ResizablePanel, ResizablePanelGroup } from '@/components/ui/resizable';\n\nimport type { ImperativePanelGroupHandle } from 'react-resizable-panels';\nimport type { AnyEntity } from '@/types';\nimport { useUITableContext } from '../hooks/use-table-context';\nimport { useUITableRowsContext } from '../hooks/use-table-rows-context';\n\nconst SELECT_WIDTH = 60;\nconst TABLE_HEADER_Z_INDEX = 20;\nconst PINNED_COLUMN_Z_INDEX = 20;\n\n//These are the important styles to make sticky column pinning work!\n//Apply styles like this using your CSS strategy of choice with this kind of logic to head cells, data cells, footer cells, etc.\n//View the index.css file for more needed styles such as border-collapse: separate\nconst getCommonPinningStyles = (column: Column<unknown>): React.CSSProperties => {\n const isPinned = column.getIsPinned();\n return {\n zIndex: isPinned ? PINNED_COLUMN_Z_INDEX : undefined,\n left: isPinned === 'left' ? `${column.getStart('left')}px` : undefined,\n right: isPinned === 'right' ? `${column.getAfter('right')}px` : undefined,\n position: isPinned ? 'sticky' : 'relative',\n };\n};\n\nexport const UITableWrapper: React.FC<React.PropsWithChildren<React.ComponentProps<'div'>>> = ({ className, children, ...props }) => {\n return (\n <div data-slot=\"table-wrapper\" className=\"relative m-0 flex size-full flex-col flex-nowrap items-start justify-start gap-2 py-2.5 text-sm\" {...props}>\n {children}\n </div>\n );\n};\n\nconst UITableHeader: React.FC<React.PropsWithChildren> = memo(({ children }) => {\n return (\n <thead\n data-slot=\"table-header\"\n style={{ zIndex: TABLE_HEADER_Z_INDEX }}\n className={cn(\n 'sticky top-0 grid bg-muted-bg-subtle text-sm text-text-positive',\n '[&_tr:not(:last-child)_td]:border-b',\n '[&_th]:flex',\n '[&_th]:h-10',\n '[&_th]:select-none',\n '[&_th]:items-center',\n '[&_th]:whitespace-nowrap',\n '[&_th]:border-border',\n '[&_th]:font-normal',\n '[&_th]:border-r',\n '[&_th]:border-b-border',\n '[&_th]:text-left',\n '[&_th]:align-middle',\n '[&_th]:last:border-r-0',\n '[&_th]:first:border-l-0',\n '[&_th]:data-[pinned=right]:border-l',\n '[&_th]:data-[pinned=right]:border-r-0',\n '[&_th]:data-[pinned=left]:border-r',\n '[&_tr_th:not([data-pinned=false])]:bg-muted-bg-subtle'\n )}\n >\n {children}\n </thead>\n );\n});\nUITableHeader.displayName = 'TableHeader';\n\nconst UITableHeaderRow: React.FC<React.PropsWithChildren> = memo(({ children }) => {\n return (\n <tr data-slot=\"table-header-row\" className=\"flex w-full border-border border-b shadow\">\n {children}\n </tr>\n );\n});\nUITableHeaderRow.displayName = 'TableHeaderRow';\n\nconst UITableHeaderCell: React.FC<\n React.PropsWithChildren<\n React.ComponentProps<'th'> & {\n header: Header<unknown, unknown>;\n isPinned: ColumnPinningPosition;\n isResizing: boolean;\n isAllRowsSelected: boolean;\n }\n >\n> = ({ header, isPinned, isResizing, isAllRowsSelected, children, ...props }) => {\n const style = getCommonPinningStyles(header.column);\n const width = `calc(var(--header-${header.id}-size) * 1px)`;\n\n if (header.id === 'select') {\n return (\n <th data-slot=\"table-header-cell\" style={{ ...style, width: SELECT_WIDTH }} className=\"relative\" {...props}>\n <div className=\"absolute inset-0 flex items-center justify-center\">\n <Checkbox\n aria-label=\"Select All Rows\"\n checked={isAllRowsSelected}\n onCheckedChange={value => {\n header.getContext().table.toggleAllRowsSelected(!!value);\n }}\n />\n </div>\n </th>\n );\n }\n return (\n <th data-slot=\"table-header-cell\" data-pinned={isPinned} style={{ ...style, width }} colSpan={header.colSpan} className={cn('group relative')} {...props}>\n <div className=\"absolute inset-0 gap-1 truncate\">\n <div className=\"flex h-full flex-1 cursor-pointer select-none items-center justify-between\">\n <div className=\"flex size-full flex-1 items-center truncate pl-4\">{flexRender(header.column.columnDef.header, header.getContext())}</div>\n </div>\n </div>\n {!['select', 'actions'].includes(header.id) && (\n <UITableHeaderCellOption\n isPinned={isPinned}\n isVisible={header.column.getIsVisible()}\n className=\"invisible absolute right-2 z-10 group-hover:visible\"\n onLeftPin={header.column.pin}\n onRightPin={header.column.pin}\n onUnpin={header.column.pin}\n onToggleVisibilityHandler={header.column.toggleVisibility}\n />\n )}\n <Activity mode={isPinned ? 'hidden' : 'visible'}>\n <div\n onDoubleClick={header.column.resetSize}\n onMouseDown={header.getResizeHandler()}\n onTouchStart={header.getResizeHandler()}\n className={cn('absolute inset-y-0 -right-0.5 w-1 cursor-e-resize bg-transparent hover:bg-border', isResizing && 'bg-border')}\n />\n </Activity>\n </th>\n );\n};\n\nconst UITableHeaderCellOption: React.FC<{\n isPinned: ColumnPinningPosition;\n className?: string;\n isVisible?: boolean;\n onLeftPin: (pos: 'left' | 'right' | false) => void;\n onRightPin: (pos: 'left' | 'right' | false) => void;\n onUnpin: (pos: 'left' | 'right' | false) => void;\n onToggleVisibilityHandler: (visible: AnyEntity) => void;\n}> = ({ isPinned, className, onLeftPin, onRightPin, onUnpin, onToggleVisibilityHandler }) => {\n const handleLeftPin = useCallback(() => {\n onLeftPin('left');\n }, [onLeftPin]);\n\n const handleRightPin = useCallback(() => {\n onRightPin('right');\n }, [onRightPin]);\n\n const handleUnpin = useCallback(() => {\n onUnpin(false);\n }, [onUnpin]);\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <button\n className={cn('cursor-pointer rounded-full p-0.5 text-text-positive-weak hover:bg-muted-muted hover:text-text-positive [&>svg]:size-4', className)}\n >\n <EllipsisVerticalIcon />\n </button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\" className=\"w-64 p-4\">\n <DropdownMenuGroup className=\"*:data-[slot=dropdown-menu-item]:rounded-xs *:data-[slot=dropdown-menu-item]:p-2\">\n <Activity mode={isPinned ? 'visible' : 'hidden'}>\n <DropdownMenuItem onClick={handleUnpin}>\n {!!isPinned && 'Unpin'}\n <DropdownMenuShortcut>\n <PinOffIcon className=\"size-4\" />\n </DropdownMenuShortcut>\n </DropdownMenuItem>\n </Activity>\n <Activity mode={!isPinned ? 'visible' : 'hidden'}>\n <DropdownMenuItem onClick={handleLeftPin}>\n {isPinned ? 'Unpin' : 'Pin to Left'}\n <DropdownMenuShortcut>\n <MoveLeftIcon className=\"size-4\" />\n </DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem onClick={handleRightPin}>\n {isPinned ? 'Unpin' : 'Pin to Right'}\n <DropdownMenuShortcut>\n <MoveRightIcon className=\"size-4\" />\n </DropdownMenuShortcut>\n </DropdownMenuItem>\n </Activity>\n </DropdownMenuGroup>\n <DropdownMenuSeparator />\n <DropdownMenuGroup className=\"*:data-[slot=dropdown-menu-item]:rounded-xs *:data-[slot=dropdown-menu-item]:p-2\">\n <DropdownMenuItem onClick={() => onToggleVisibilityHandler(false)}>\n Hide Field\n <DropdownMenuShortcut>\n <EyeOffIcon className=\"size-4\" />\n </DropdownMenuShortcut>\n </DropdownMenuItem>\n </DropdownMenuGroup>\n </DropdownMenuContent>\n </DropdownMenu>\n );\n};\n\nconst UITableBody: React.FC<React.PropsWithChildren<React.ComponentProps<'tbody'> & { height: number }>> = ({ height, children, ...props }) => {\n return (\n <tbody\n data-slot=\"table-body\"\n style={{ height: `${height}px` }}\n className={cn(\n 'relative grid w-full',\n '[&_tr]:absolute [&_tr]:flex [&_tr]:w-full [&_tr]:cursor-pointer [&_tr]:border-b [&_tr]:border-b-border [&_tr]:focus:outline-none',\n '[&_td]:z-10',\n '[&_td]:flex',\n '[&_td]:overflow-hidden',\n '[&_td]:whitespace-nowrap',\n '[&_td]:px-4',\n '[&_td]:py-2.5',\n '[&_td]:align-middle',\n '[&_td]:border-border',\n '[&_td]:data-[pinned=right]:border-l',\n '[&_td]:data-[pinned=left]:border-r',\n '[&_td:not([data-pinned=false])]:bg-card',\n '[&_td:not([data-pinned=false])]:shadow-xs'\n )}\n {...props}\n >\n {children}\n </tbody>\n );\n};\n\nconst UITableRow: React.FC<\n React.ComponentProps<'tr'> & {\n row: Row<unknown>;\n virtualRow: VirtualItem;\n rowVirtualizer: Virtualizer<HTMLDivElement, HTMLTableRowElement>;\n }\n> = memo(({ children, row, virtualRow, rowVirtualizer, className, ...props }) => {\n const { columnPinning: _ } = useUITableContext();\n return (\n <tr\n data-slot=\"table-row\"\n data-index={virtualRow.index}\n ref={node => rowVirtualizer.measureElement(node)}\n style={{\n transform: `translateY(${virtualRow.start}px)`,\n }}\n className={cn('group', className)}\n {...props}\n >\n {row.getVisibleCells().map(cell => {\n return <UITableCell key={cell.id} cell={cell} className=\"group-hover:bg-muted-bg-subtle!\" />;\n })}\n </tr>\n );\n});\nUITableRow.displayName = 'TableRow';\n\nconst UITableCell: React.FC<\n React.PropsWithChildren<\n React.ComponentProps<'td'> & {\n cell: Cell<unknown, unknown>;\n }\n >\n> = memo(({ cell, children, className, ...props }) => {\n const { rowSelection: _ } = useUITableContext();\n const isPinned = cell.column.getIsPinned();\n const style = getCommonPinningStyles(cell.column);\n const width = `calc(var(--col-${cell.column.id}-size) * 1px)`;\n if (isPinned) {\n console.log('Pinned Cell Rendered:', cell.column.getPinnedIndex());\n }\n\n if (cell.column.id === 'select') {\n return (\n <td data-slot=\"table-cell\" style={{ ...style, width: SELECT_WIDTH }} className={cn('border-none! bg-transparent! shadow-none!', className)} {...props}>\n <div className=\"absolute inset-0 flex items-center justify-center bg-transparent\">\n <Checkbox\n aria-label=\"Select Row\"\n checked={cell.row.getIsSelected()}\n onCheckedChange={value => {\n cell.row.toggleSelected(!!value);\n }}\n />\n </div>\n </td>\n );\n }\n\n return (\n <td\n data-slot=\"table-cell\"\n data-pinned={isPinned}\n style={{ ...style, width }}\n className={cn(isPinned && cell.column.getPinnedIndex() === 0 && 'shadow!', className)}\n {...props}\n >\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </td>\n );\n});\nUITableCell.displayName = 'TableCell';\n\nconst EmptyDisplay: React.FC = () => {\n return (\n <div className=\"sticky left-0 flex flex-1 items-center justify-center bg-transparent text-text-positive-weak opacity-100\">\n <div className=\"flex flex-col items-center gap-1\">\n <BoxIcon strokeWidth={1} size={48} />\n <p>No data available</p>\n </div>\n </div>\n );\n};\n\nexport const UITableFooter: React.FC<React.PropsWithChildren> = ({ children }) => {\n return (\n <tfoot data-slot=\"table-footer\" className=\"flex w-full justify-center border-border-weak border-t py-2 font-medium [&>tr]:last:border-b-0\">\n {children}\n </tfoot>\n );\n};\n\nexport const UITableContainer: React.FC<React.PropsWithChildren> = ({ children }) => {\n const { table, isEmpty, isFetching, totalRows, fetchMoreData } = useUITableContext();\n const { rows, rowsLength } = useUITableRowsContext();\n\n const tableContainerRef = useRef<ImperativePanelGroupHandle | null>(null);\n const tableRef = useRef<HTMLTableElement | null>(null);\n\n /**\n * Instead of calling `column.getSize()` on every render for every header\n * and especially every data cell (very expensive),\n * we will calculate all column sizes at once at the root table level in a useMemo\n * and pass the column sizes down as CSS variables to the <table> element.\n */\n // biome-ignore lint/correctness/useExhaustiveDependencies: <table> element.\n const columnSizeVars = useMemo(() => {\n const headers = table.getFlatHeaders();\n const colSizes: { [key: string]: number | undefined } = {};\n headers.forEach(header => {\n colSizes[`--header-${header.id}-size`] = header.getSize() || 0;\n colSizes[`--col-${header.column.id}-size`] = header.column.getSize() || 0;\n });\n return colSizes;\n }, [table.getState().columnSizingInfo, table.getState().columnSizing]);\n\n // Important: Keep the row virtualizer in the lowest component possible to avoid unnecessary re-renders.\n const rowVirtualizer = useVirtualizer<HTMLDivElement, HTMLTableRowElement>({\n count: rowsLength,\n getScrollElement: () => tableRef.current,\n estimateSize: () => 40, // estimated row height\n measureElement: element => element?.getBoundingClientRect().height,\n overscan: 2, // Render additional rows beyond viewport for smoother scrolling\n });\n\n //called on scroll and possibly on mount to fetch more data as the user scrolls and reaches bottom of table\n const fetchMoreOnButtonReached = useCallback(\n async (containerRefEl?: HTMLTableElement | null) => {\n if (!containerRefEl) return null;\n const { scrollHeight, scrollTop, clientHeight } = containerRefEl;\n //once the user has scrolled within 500px of the bottom of the table, fetch more data if we can\n if (scrollHeight - scrollTop - clientHeight < 500 && !isFetching && totalRows && rowsLength < totalRows) {\n await fetchMoreData?.();\n }\n },\n [isFetching, rowsLength, totalRows, fetchMoreData]\n );\n\n //a check on mount and after a fetch to see if the table is already scrolled to the bottom and immediately needs to fetch more data\n useEffect(() => {\n fetchMoreOnButtonReached(tableRef.current);\n }, [fetchMoreOnButtonReached]);\n\n return (\n <ResizablePanelGroup\n ref={tableContainerRef}\n direction=\"horizontal\"\n style={{ direction: table.options.columnResizeDirection }}\n className=\"relative flex w-full max-w-full flex-1 gap-1 overflow-auto border-t border-t-border bg-slate-50 p-0 text-sm\"\n >\n <ResizablePanel className=\"overflow-auto\">\n <table\n ref={tableRef}\n data-slot=\"table\"\n style={{\n ...columnSizeVars,\n width: table.getTotalSize(),\n }}\n className=\"grid size-full max-w-full caption-bottom border-collapse border-spacing-0 flex-col content-start overflow-auto bg-card text-sm tabular-nums [&_tfoot_td]:border-t\"\n >\n <UITableHeader>\n {table.getHeaderGroups().map(headerGroup => (\n <UITableHeaderRow key={headerGroup.id}>\n {headerGroup.headers.map(header => (\n <UITableHeaderCell\n key={header.id}\n header={header}\n isPinned={header.column.getIsPinned()}\n isResizing={header.column.getIsResizing()}\n isAllRowsSelected={table.getIsAllRowsSelected()}\n />\n ))}\n </UITableHeaderRow>\n ))}\n </UITableHeader>\n <UITableBody data-slot=\"table-body\" height={rowVirtualizer.getTotalSize()}>\n {rowVirtualizer.getVirtualItems().map(virtualRow => {\n const row = rows[virtualRow.index] as Row<AnyEntity>;\n return <UITableRow key={row.id} data-index={virtualRow.index} row={row} virtualRow={virtualRow} rowVirtualizer={rowVirtualizer} />;\n })}\n </UITableBody>\n </table>\n {isEmpty && <EmptyDisplay />}\n </ResizablePanel>\n <ResizableHandle />\n {children}\n </ResizablePanelGroup>\n );\n};\n","import { Activity, useState } from 'react';\n\nimport { Columns4Icon, ListFilterIcon, ListFilterPlus } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Button } from '@/components/ui/button';\nimport { Checkbox } from '@/components/ui/checkbox';\nimport { ResizablePanel } from '@/components/ui/resizable';\nimport { Separator } from '@/components/ui/separator';\n\nimport { useUITableContext } from '../../hooks/use-table-context';\n\nconst ColumnVisibility: React.FC<{\n checked: boolean;\n title: string;\n onCheckedChange?: (checked: boolean) => void;\n}> = ({ checked, title, onCheckedChange }) => {\n return (\n <div className=\"flex h-fit items-center gap-2\">\n <Checkbox checked={checked} onCheckedChange={onCheckedChange} />\n <p className=\"text-sm\">{title}</p>\n </div>\n );\n};\n\nexport const UITableFilter = () => {\n const { table } = useUITableContext();\n const [tab, setTab] = useState<'columns' | 'filters' | null>(null);\n\n return (\n <ResizablePanel defaultSize={25} className={cn('bg-card', tab === null ? 'max-w-8!' : 'min-w-64')}>\n <div className=\"relative z-20 flex size-full bg-muted-bg-subtle\">\n <div className=\"flex-1\">\n <Activity mode={tab === 'columns' ? 'visible' : 'hidden'}>\n <div className=\"flex size-full flex-col gap-2 p-4\">\n <p className=\"px-2 font-medium\">Columns Visibility</p>\n <Separator />\n <div className=\"flex flex-col gap-4 pt-4\">\n {table.getAllColumns().map(column => {\n if (['select', 'actions'].includes(column.id)) return null;\n return (\n <ColumnVisibility\n key={column.id}\n checked={column.getIsVisible()}\n title={String(column.columnDef.header)}\n onCheckedChange={value => column.toggleVisibility(!!value)}\n />\n );\n })}\n </div>\n </div>\n </Activity>\n <Activity mode={tab === 'filters' ? 'visible' : 'hidden'}>\n <div className=\"flex size-full flex-col p-2\">\n <Button variant=\"outline\" color=\"muted\">\n <ListFilterPlus />\n Add Filter\n </Button>\n </div>\n </Activity>\n </div>\n <div className=\"flex h-full flex-col border-border border-l bg-muted-bg-subtle text-sm\">\n <button\n className={cn('flex h-32 cursor-pointer flex-col items-center gap-y-2 p-2 py-4', tab === 'columns' && 'bg-card')}\n onClick={() => setTab(tab === 'columns' ? null : 'columns')}\n >\n <Columns4Icon size={18} />\n <span className=\"text-nowrap [writing-mode:vertical-lr]\">Columns</span>\n </button>\n <Separator />\n <button\n className={cn('flex h-32 cursor-pointer flex-col items-center gap-y-2 p-2 py-4', tab === 'filters' && 'bg-card')}\n onClick={() => setTab(tab === 'filters' ? null : 'filters')}\n >\n <ListFilterIcon size={18} />\n <span className=\"text-nowrap [writing-mode:vertical-lr]\">Filters</span>\n </button>\n <Separator />\n </div>\n </div>\n </ResizablePanel>\n );\n};\n","import { useMemo, useState } from 'react';\n\nimport type { ColumnPinningState, InitialTableState, RowData, RowSelectionState, VisibilityState } from '@tanstack/react-table';\nimport { getCoreRowModel, useReactTable } from '@tanstack/react-table';\n\nimport { TableContext } from '../../hooks/use-table-context';\nimport { TableRowsContext, type TTableRowsContext } from '../../hooks/use-table-rows-context';\nimport type { TableProviderProps, TTableContext } from '../../types';\n\nconst INITIAL_STATE: InitialTableState = {\n columnPinning: { right: ['actions'] },\n};\n\nexport const UITableProvider = <TData extends RowData>({\n title,\n isFetching = false,\n data,\n columns,\n totalRows,\n\n fetchMoreData,\n children,\n}: React.PropsWithChildren<TableProviderProps<TData>>) => {\n const [rowSelection, setRowSelection] = useState<RowSelectionState>({});\n const [columnPinning, setColumnPinning] = useState<ColumnPinningState>({ right: ['actions'] });\n const [columnVisibility, setColumnVisibility] = useState<VisibilityState>({});\n\n const table = useReactTable<TData>({\n initialState: INITIAL_STATE,\n data: data,\n columns,\n state: {\n rowSelection,\n columnPinning,\n columnVisibility,\n },\n defaultColumn: {\n minSize: 40,\n size: 150,\n maxSize: 800,\n },\n columnResizeMode: 'onChange',\n columnResizeDirection: 'ltr',\n\n enableRowSelection: true,\n enableColumnResizing: true,\n enableMultiRowSelection: true,\n\n getCoreRowModel: getCoreRowModel(),\n\n onRowSelectionChange: setRowSelection,\n onColumnPinningChange: setColumnPinning,\n onColumnVisibilityChange: setColumnVisibility,\n });\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: rows\n const rows = useMemo(() => {\n return table.getRowModel().rows;\n }, [table.getState().columnPinning]);\n\n const isEmpty = useMemo<boolean>(() => {\n return !isFetching && table.getRowModel().rows.length === 0;\n }, [table, isFetching]);\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: table get state\n const value = useMemo<TTableContext<TData>>(\n () => ({\n table,\n title,\n isEmpty,\n isFetching,\n\n totalRows,\n\n rowSelection: table.getState().rowSelection,\n\n columnPinning: table.getState().columnPinning,\n\n fetchMoreData,\n }),\n [\n table,\n title,\n\n isEmpty,\n isFetching,\n\n totalRows,\n\n fetchMoreData,\n\n table.getState().columnVisibility,\n\n table.getState().rowSelection,\n table.getState().columnPinning,\n ]\n );\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: rows\n const rowsValue = useMemo<TTableRowsContext<TData>>(\n () => ({\n rowsLength: rows.length,\n rows,\n }),\n [rows, table, table.getState().rowSelection, table.getState().columnPinning, table.getState().columnSizing]\n );\n\n return (\n <TableContext.Provider value={value as TTableContext<unknown>}>\n <TableRowsContext.Provider value={rowsValue as TTableRowsContext<unknown>}>{children}</TableRowsContext.Provider>\n </TableContext.Provider>\n );\n};\n","import { ArrowRightIcon, CirclePlus, DownloadIcon, RefreshCwIcon, SearchIcon } from 'lucide-react';\n\nimport { Input } from '@/components/ui/input';\n\nimport { useUITableContext } from '../../hooks/use-table-context';\n\nexport const UITableTooltipFilter: React.FC<React.ComponentProps<typeof Input>> = ({ className: _, ...props }) => {\n return (\n <div className=\"relative\">\n <Input {...props} size=\"lg\" type=\"search\" placeholder=\"Search records...\" className=\"ps-9 pe-9\" />\n <div className=\"pointer-events-none absolute inset-y-0 start-0 flex items-center justify-center ps-3 text-text-positive-weak peer-disabled:opacity-50\">\n <SearchIcon size={16} />\n </div>\n <button\n className=\"absolute inset-y-0 end-0 flex h-full w-9 items-center justify-center rounded-e-md text-text-positive-weak outline-none transition-[color,box-shadow] hover:text-text-positive focus:z-10 focus-visible:border focus-visible:border-primary-strong focus-visible:ring-[3px] focus-visible:ring-primary-weak disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50\"\n aria-label=\"Submit search\"\n type=\"submit\"\n >\n <ArrowRightIcon size={16} aria-hidden=\"true\" />\n </button>\n </div>\n );\n};\n\nconst ActionButton: React.FC<React.PropsWithChildren> = ({ children }) => {\n return (\n <button className=\"flex cursor-pointer items-center gap-x-1 rounded-sm border border-border bg-background p-2.5 text-sm text-text-positive-weak outline-none transition-all hover:shadow-card focus:border-border-emphasis focus:bg-muted-muted active:border-border-emphasis active:bg-muted-muted active:text-text-positive [&_svg]:size-3.5\">\n {children}\n </button>\n );\n};\n\nexport const UITableTooltipActions: React.FC = () => {\n return (\n <div className=\"flex [&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none\">\n <ActionButton>\n <CirclePlus />\n </ActionButton>\n <ActionButton>\n <RefreshCwIcon />\n </ActionButton>\n <ActionButton>\n <DownloadIcon />\n </ActionButton>\n </div>\n );\n};\n\nexport const UITableTooltip: React.FC<React.PropsWithChildren> = ({ children }) => {\n const { title } = useUITableContext();\n return (\n <div data-slot=\"table-tooltip\" className=\"relative m-0 flex w-full flex-0 flex-col flex-wrap items-start space-y-2 p-0 px-2 text-sm\">\n <h3 className=\"font-semibold text-base text-text-positive\">{title}</h3>\n <div className=\"flex w-full flex-1 justify-between\">{children}</div>\n </div>\n );\n};\nUITableTooltip.displayName = 'TableTooltip';\n"],"mappings":"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"}
|
|
@@ -31,7 +31,7 @@ declare const useTanStackForm: <TFormData, TOnMount extends _tanstack_form_core0
|
|
|
31
31
|
showClearButton?: boolean | undefined;
|
|
32
32
|
description?: string | undefined;
|
|
33
33
|
placeholder?: string | undefined;
|
|
34
|
-
}, "description" | "label" | "
|
|
34
|
+
}, "description" | "label" | "placeholder" | "orientation" | "tooltip" | "counter" | "showClearButton" | "helperText" | "showErrorMessage"> & {
|
|
35
35
|
required?: boolean;
|
|
36
36
|
maxLength?: number;
|
|
37
37
|
}>;
|
|
@@ -59,7 +59,7 @@ declare const useTanStackForm: <TFormData, TOnMount extends _tanstack_form_core0
|
|
|
59
59
|
counter?: boolean | undefined;
|
|
60
60
|
description?: string | undefined;
|
|
61
61
|
placeholder?: string | undefined;
|
|
62
|
-
}, "description" | "label" | "
|
|
62
|
+
}, "description" | "label" | "placeholder" | "orientation" | "tooltip" | "counter" | "helperText" | "showErrorMessage"> & {
|
|
63
63
|
required?: boolean;
|
|
64
64
|
maxLength?: number;
|
|
65
65
|
}>;
|
|
@@ -99,7 +99,7 @@ declare const useTanStackForm: <TFormData, TOnMount extends _tanstack_form_core0
|
|
|
99
99
|
unit?: string | undefined;
|
|
100
100
|
description?: string | undefined;
|
|
101
101
|
placeholder?: string | undefined;
|
|
102
|
-
}, "description" | "label" | "
|
|
102
|
+
}, "description" | "label" | "placeholder" | "orientation" | "tooltip" | "helperText" | "showErrorMessage" | "rounding" | "decimalPlaces" | "percision" | "unit"> & {
|
|
103
103
|
required?: boolean;
|
|
104
104
|
allowNegative?: boolean;
|
|
105
105
|
}>;
|
|
@@ -119,14 +119,14 @@ declare const useTanStackForm: <TFormData, TOnMount extends _tanstack_form_core0
|
|
|
119
119
|
showErrorMessage?: boolean | undefined;
|
|
120
120
|
description?: string | undefined;
|
|
121
121
|
placeholder?: string | undefined;
|
|
122
|
-
}, "description" | "label" | "
|
|
122
|
+
}, "description" | "label" | "placeholder" | "orientation" | "tooltip" | "helperText" | "showErrorMessage"> & {
|
|
123
123
|
maxLength?: number;
|
|
124
124
|
}>;
|
|
125
125
|
readonly PasswordField: react26.FC<{
|
|
126
126
|
description?: string | undefined;
|
|
127
127
|
label: string;
|
|
128
|
-
orientation?: "vertical" | "horizontal" | "responsive" | undefined;
|
|
129
128
|
placeholder?: string | undefined;
|
|
129
|
+
orientation?: "vertical" | "horizontal" | "responsive" | undefined;
|
|
130
130
|
tooltip?: string | undefined;
|
|
131
131
|
helperText?: string | undefined;
|
|
132
132
|
showErrorMessage?: boolean | undefined;
|
|
@@ -156,7 +156,7 @@ declare const useTanStackForm: <TFormData, TOnMount extends _tanstack_form_core0
|
|
|
156
156
|
defaultValue?: string | undefined;
|
|
157
157
|
description?: string | undefined;
|
|
158
158
|
placeholder?: string | undefined;
|
|
159
|
-
}, "description" | "label" | "
|
|
159
|
+
}, "description" | "label" | "placeholder" | "defaultValue" | "orientation" | "tooltip" | "options" | "helperText" | "clearable"> & {
|
|
160
160
|
required?: boolean;
|
|
161
161
|
}>;
|
|
162
162
|
readonly DateField: react26.FC<Pick<{
|
|
@@ -177,7 +177,7 @@ declare const useTanStackForm: <TFormData, TOnMount extends _tanstack_form_core0
|
|
|
177
177
|
defaultValue?: string | undefined;
|
|
178
178
|
description?: string | undefined;
|
|
179
179
|
placeholder?: string | undefined;
|
|
180
|
-
}, "description" | "label" | "
|
|
180
|
+
}, "description" | "label" | "placeholder" | "orientation" | "tooltip" | "helperText" | "showErrorMessage"> & {
|
|
181
181
|
required?: boolean;
|
|
182
182
|
minDate?: Date;
|
|
183
183
|
maxDate?: Date;
|
|
@@ -271,7 +271,7 @@ declare const useTanStackForm: <TFormData, TOnMount extends _tanstack_form_core0
|
|
|
271
271
|
showClearButton?: boolean | undefined;
|
|
272
272
|
description?: string | undefined;
|
|
273
273
|
placeholder?: string | undefined;
|
|
274
|
-
}, "description" | "label" | "
|
|
274
|
+
}, "description" | "label" | "placeholder" | "orientation" | "tooltip" | "counter" | "showClearButton" | "helperText" | "showErrorMessage"> & {
|
|
275
275
|
required?: boolean;
|
|
276
276
|
maxLength?: number;
|
|
277
277
|
}>;
|
|
@@ -299,7 +299,7 @@ declare const useTanStackForm: <TFormData, TOnMount extends _tanstack_form_core0
|
|
|
299
299
|
counter?: boolean | undefined;
|
|
300
300
|
description?: string | undefined;
|
|
301
301
|
placeholder?: string | undefined;
|
|
302
|
-
}, "description" | "label" | "
|
|
302
|
+
}, "description" | "label" | "placeholder" | "orientation" | "tooltip" | "counter" | "helperText" | "showErrorMessage"> & {
|
|
303
303
|
required?: boolean;
|
|
304
304
|
maxLength?: number;
|
|
305
305
|
}>;
|
|
@@ -339,7 +339,7 @@ declare const useTanStackForm: <TFormData, TOnMount extends _tanstack_form_core0
|
|
|
339
339
|
unit?: string | undefined;
|
|
340
340
|
description?: string | undefined;
|
|
341
341
|
placeholder?: string | undefined;
|
|
342
|
-
}, "description" | "label" | "
|
|
342
|
+
}, "description" | "label" | "placeholder" | "orientation" | "tooltip" | "helperText" | "showErrorMessage" | "rounding" | "decimalPlaces" | "percision" | "unit"> & {
|
|
343
343
|
required?: boolean;
|
|
344
344
|
allowNegative?: boolean;
|
|
345
345
|
}>;
|
|
@@ -359,14 +359,14 @@ declare const useTanStackForm: <TFormData, TOnMount extends _tanstack_form_core0
|
|
|
359
359
|
showErrorMessage?: boolean | undefined;
|
|
360
360
|
description?: string | undefined;
|
|
361
361
|
placeholder?: string | undefined;
|
|
362
|
-
}, "description" | "label" | "
|
|
362
|
+
}, "description" | "label" | "placeholder" | "orientation" | "tooltip" | "helperText" | "showErrorMessage"> & {
|
|
363
363
|
maxLength?: number;
|
|
364
364
|
}>;
|
|
365
365
|
readonly PasswordField: react26.FC<{
|
|
366
366
|
description?: string | undefined;
|
|
367
367
|
label: string;
|
|
368
|
-
orientation?: "vertical" | "horizontal" | "responsive" | undefined;
|
|
369
368
|
placeholder?: string | undefined;
|
|
369
|
+
orientation?: "vertical" | "horizontal" | "responsive" | undefined;
|
|
370
370
|
tooltip?: string | undefined;
|
|
371
371
|
helperText?: string | undefined;
|
|
372
372
|
showErrorMessage?: boolean | undefined;
|
|
@@ -396,7 +396,7 @@ declare const useTanStackForm: <TFormData, TOnMount extends _tanstack_form_core0
|
|
|
396
396
|
defaultValue?: string | undefined;
|
|
397
397
|
description?: string | undefined;
|
|
398
398
|
placeholder?: string | undefined;
|
|
399
|
-
}, "description" | "label" | "
|
|
399
|
+
}, "description" | "label" | "placeholder" | "defaultValue" | "orientation" | "tooltip" | "options" | "helperText" | "clearable"> & {
|
|
400
400
|
required?: boolean;
|
|
401
401
|
}>;
|
|
402
402
|
readonly DateField: react26.FC<Pick<{
|
|
@@ -417,7 +417,7 @@ declare const useTanStackForm: <TFormData, TOnMount extends _tanstack_form_core0
|
|
|
417
417
|
defaultValue?: string | undefined;
|
|
418
418
|
description?: string | undefined;
|
|
419
419
|
placeholder?: string | undefined;
|
|
420
|
-
}, "description" | "label" | "
|
|
420
|
+
}, "description" | "label" | "placeholder" | "orientation" | "tooltip" | "helperText" | "showErrorMessage"> & {
|
|
421
421
|
required?: boolean;
|
|
422
422
|
minDate?: Date;
|
|
423
423
|
maxDate?: Date;
|
|
@@ -509,7 +509,7 @@ declare const useTanStackForm: <TFormData, TOnMount extends _tanstack_form_core0
|
|
|
509
509
|
showClearButton?: boolean | undefined;
|
|
510
510
|
description?: string | undefined;
|
|
511
511
|
placeholder?: string | undefined;
|
|
512
|
-
}, "description" | "label" | "
|
|
512
|
+
}, "description" | "label" | "placeholder" | "orientation" | "tooltip" | "counter" | "showClearButton" | "helperText" | "showErrorMessage"> & {
|
|
513
513
|
required?: boolean;
|
|
514
514
|
maxLength?: number;
|
|
515
515
|
}>;
|
|
@@ -537,7 +537,7 @@ declare const useTanStackForm: <TFormData, TOnMount extends _tanstack_form_core0
|
|
|
537
537
|
counter?: boolean | undefined;
|
|
538
538
|
description?: string | undefined;
|
|
539
539
|
placeholder?: string | undefined;
|
|
540
|
-
}, "description" | "label" | "
|
|
540
|
+
}, "description" | "label" | "placeholder" | "orientation" | "tooltip" | "counter" | "helperText" | "showErrorMessage"> & {
|
|
541
541
|
required?: boolean;
|
|
542
542
|
maxLength?: number;
|
|
543
543
|
}>;
|
|
@@ -577,7 +577,7 @@ declare const useTanStackForm: <TFormData, TOnMount extends _tanstack_form_core0
|
|
|
577
577
|
unit?: string | undefined;
|
|
578
578
|
description?: string | undefined;
|
|
579
579
|
placeholder?: string | undefined;
|
|
580
|
-
}, "description" | "label" | "
|
|
580
|
+
}, "description" | "label" | "placeholder" | "orientation" | "tooltip" | "helperText" | "showErrorMessage" | "rounding" | "decimalPlaces" | "percision" | "unit"> & {
|
|
581
581
|
required?: boolean;
|
|
582
582
|
allowNegative?: boolean;
|
|
583
583
|
}>;
|
|
@@ -597,14 +597,14 @@ declare const useTanStackForm: <TFormData, TOnMount extends _tanstack_form_core0
|
|
|
597
597
|
showErrorMessage?: boolean | undefined;
|
|
598
598
|
description?: string | undefined;
|
|
599
599
|
placeholder?: string | undefined;
|
|
600
|
-
}, "description" | "label" | "
|
|
600
|
+
}, "description" | "label" | "placeholder" | "orientation" | "tooltip" | "helperText" | "showErrorMessage"> & {
|
|
601
601
|
maxLength?: number;
|
|
602
602
|
}>;
|
|
603
603
|
readonly PasswordField: react26.FC<{
|
|
604
604
|
description?: string | undefined;
|
|
605
605
|
label: string;
|
|
606
|
-
orientation?: "vertical" | "horizontal" | "responsive" | undefined;
|
|
607
606
|
placeholder?: string | undefined;
|
|
607
|
+
orientation?: "vertical" | "horizontal" | "responsive" | undefined;
|
|
608
608
|
tooltip?: string | undefined;
|
|
609
609
|
helperText?: string | undefined;
|
|
610
610
|
showErrorMessage?: boolean | undefined;
|
|
@@ -634,7 +634,7 @@ declare const useTanStackForm: <TFormData, TOnMount extends _tanstack_form_core0
|
|
|
634
634
|
defaultValue?: string | undefined;
|
|
635
635
|
description?: string | undefined;
|
|
636
636
|
placeholder?: string | undefined;
|
|
637
|
-
}, "description" | "label" | "
|
|
637
|
+
}, "description" | "label" | "placeholder" | "defaultValue" | "orientation" | "tooltip" | "options" | "helperText" | "clearable"> & {
|
|
638
638
|
required?: boolean;
|
|
639
639
|
}>;
|
|
640
640
|
readonly DateField: react26.FC<Pick<{
|
|
@@ -655,7 +655,7 @@ declare const useTanStackForm: <TFormData, TOnMount extends _tanstack_form_core0
|
|
|
655
655
|
defaultValue?: string | undefined;
|
|
656
656
|
description?: string | undefined;
|
|
657
657
|
placeholder?: string | undefined;
|
|
658
|
-
}, "description" | "label" | "
|
|
658
|
+
}, "description" | "label" | "placeholder" | "orientation" | "tooltip" | "helperText" | "showErrorMessage"> & {
|
|
659
659
|
required?: boolean;
|
|
660
660
|
minDate?: Date;
|
|
661
661
|
maxDate?: Date;
|
|
@@ -751,7 +751,7 @@ declare const useTanStackForm: <TFormData, TOnMount extends _tanstack_form_core0
|
|
|
751
751
|
showClearButton?: boolean | undefined;
|
|
752
752
|
description?: string | undefined;
|
|
753
753
|
placeholder?: string | undefined;
|
|
754
|
-
}, "description" | "label" | "
|
|
754
|
+
}, "description" | "label" | "placeholder" | "orientation" | "tooltip" | "counter" | "showClearButton" | "helperText" | "showErrorMessage"> & {
|
|
755
755
|
required?: boolean;
|
|
756
756
|
maxLength?: number;
|
|
757
757
|
}>;
|
|
@@ -779,7 +779,7 @@ declare const useTanStackForm: <TFormData, TOnMount extends _tanstack_form_core0
|
|
|
779
779
|
counter?: boolean | undefined;
|
|
780
780
|
description?: string | undefined;
|
|
781
781
|
placeholder?: string | undefined;
|
|
782
|
-
}, "description" | "label" | "
|
|
782
|
+
}, "description" | "label" | "placeholder" | "orientation" | "tooltip" | "counter" | "helperText" | "showErrorMessage"> & {
|
|
783
783
|
required?: boolean;
|
|
784
784
|
maxLength?: number;
|
|
785
785
|
}>;
|
|
@@ -819,7 +819,7 @@ declare const useTanStackForm: <TFormData, TOnMount extends _tanstack_form_core0
|
|
|
819
819
|
unit?: string | undefined;
|
|
820
820
|
description?: string | undefined;
|
|
821
821
|
placeholder?: string | undefined;
|
|
822
|
-
}, "description" | "label" | "
|
|
822
|
+
}, "description" | "label" | "placeholder" | "orientation" | "tooltip" | "helperText" | "showErrorMessage" | "rounding" | "decimalPlaces" | "percision" | "unit"> & {
|
|
823
823
|
required?: boolean;
|
|
824
824
|
allowNegative?: boolean;
|
|
825
825
|
}>;
|
|
@@ -839,14 +839,14 @@ declare const useTanStackForm: <TFormData, TOnMount extends _tanstack_form_core0
|
|
|
839
839
|
showErrorMessage?: boolean | undefined;
|
|
840
840
|
description?: string | undefined;
|
|
841
841
|
placeholder?: string | undefined;
|
|
842
|
-
}, "description" | "label" | "
|
|
842
|
+
}, "description" | "label" | "placeholder" | "orientation" | "tooltip" | "helperText" | "showErrorMessage"> & {
|
|
843
843
|
maxLength?: number;
|
|
844
844
|
}>;
|
|
845
845
|
readonly PasswordField: react26.FC<{
|
|
846
846
|
description?: string | undefined;
|
|
847
847
|
label: string;
|
|
848
|
-
orientation?: "vertical" | "horizontal" | "responsive" | undefined;
|
|
849
848
|
placeholder?: string | undefined;
|
|
849
|
+
orientation?: "vertical" | "horizontal" | "responsive" | undefined;
|
|
850
850
|
tooltip?: string | undefined;
|
|
851
851
|
helperText?: string | undefined;
|
|
852
852
|
showErrorMessage?: boolean | undefined;
|
|
@@ -876,7 +876,7 @@ declare const useTanStackForm: <TFormData, TOnMount extends _tanstack_form_core0
|
|
|
876
876
|
defaultValue?: string | undefined;
|
|
877
877
|
description?: string | undefined;
|
|
878
878
|
placeholder?: string | undefined;
|
|
879
|
-
}, "description" | "label" | "
|
|
879
|
+
}, "description" | "label" | "placeholder" | "defaultValue" | "orientation" | "tooltip" | "options" | "helperText" | "clearable"> & {
|
|
880
880
|
required?: boolean;
|
|
881
881
|
}>;
|
|
882
882
|
readonly DateField: react26.FC<Pick<{
|
|
@@ -897,7 +897,7 @@ declare const useTanStackForm: <TFormData, TOnMount extends _tanstack_form_core0
|
|
|
897
897
|
defaultValue?: string | undefined;
|
|
898
898
|
description?: string | undefined;
|
|
899
899
|
placeholder?: string | undefined;
|
|
900
|
-
}, "description" | "label" | "
|
|
900
|
+
}, "description" | "label" | "placeholder" | "orientation" | "tooltip" | "helperText" | "showErrorMessage"> & {
|
|
901
901
|
required?: boolean;
|
|
902
902
|
minDate?: Date;
|
|
903
903
|
maxDate?: Date;
|
|
@@ -989,7 +989,7 @@ declare const useTanStackForm: <TFormData, TOnMount extends _tanstack_form_core0
|
|
|
989
989
|
showClearButton?: boolean | undefined;
|
|
990
990
|
description?: string | undefined;
|
|
991
991
|
placeholder?: string | undefined;
|
|
992
|
-
}, "description" | "label" | "
|
|
992
|
+
}, "description" | "label" | "placeholder" | "orientation" | "tooltip" | "counter" | "showClearButton" | "helperText" | "showErrorMessage"> & {
|
|
993
993
|
required?: boolean;
|
|
994
994
|
maxLength?: number;
|
|
995
995
|
}>;
|
|
@@ -1017,7 +1017,7 @@ declare const useTanStackForm: <TFormData, TOnMount extends _tanstack_form_core0
|
|
|
1017
1017
|
counter?: boolean | undefined;
|
|
1018
1018
|
description?: string | undefined;
|
|
1019
1019
|
placeholder?: string | undefined;
|
|
1020
|
-
}, "description" | "label" | "
|
|
1020
|
+
}, "description" | "label" | "placeholder" | "orientation" | "tooltip" | "counter" | "helperText" | "showErrorMessage"> & {
|
|
1021
1021
|
required?: boolean;
|
|
1022
1022
|
maxLength?: number;
|
|
1023
1023
|
}>;
|
|
@@ -1057,7 +1057,7 @@ declare const useTanStackForm: <TFormData, TOnMount extends _tanstack_form_core0
|
|
|
1057
1057
|
unit?: string | undefined;
|
|
1058
1058
|
description?: string | undefined;
|
|
1059
1059
|
placeholder?: string | undefined;
|
|
1060
|
-
}, "description" | "label" | "
|
|
1060
|
+
}, "description" | "label" | "placeholder" | "orientation" | "tooltip" | "helperText" | "showErrorMessage" | "rounding" | "decimalPlaces" | "percision" | "unit"> & {
|
|
1061
1061
|
required?: boolean;
|
|
1062
1062
|
allowNegative?: boolean;
|
|
1063
1063
|
}>;
|
|
@@ -1077,14 +1077,14 @@ declare const useTanStackForm: <TFormData, TOnMount extends _tanstack_form_core0
|
|
|
1077
1077
|
showErrorMessage?: boolean | undefined;
|
|
1078
1078
|
description?: string | undefined;
|
|
1079
1079
|
placeholder?: string | undefined;
|
|
1080
|
-
}, "description" | "label" | "
|
|
1080
|
+
}, "description" | "label" | "placeholder" | "orientation" | "tooltip" | "helperText" | "showErrorMessage"> & {
|
|
1081
1081
|
maxLength?: number;
|
|
1082
1082
|
}>;
|
|
1083
1083
|
readonly PasswordField: react26.FC<{
|
|
1084
1084
|
description?: string | undefined;
|
|
1085
1085
|
label: string;
|
|
1086
|
-
orientation?: "vertical" | "horizontal" | "responsive" | undefined;
|
|
1087
1086
|
placeholder?: string | undefined;
|
|
1087
|
+
orientation?: "vertical" | "horizontal" | "responsive" | undefined;
|
|
1088
1088
|
tooltip?: string | undefined;
|
|
1089
1089
|
helperText?: string | undefined;
|
|
1090
1090
|
showErrorMessage?: boolean | undefined;
|
|
@@ -1114,7 +1114,7 @@ declare const useTanStackForm: <TFormData, TOnMount extends _tanstack_form_core0
|
|
|
1114
1114
|
defaultValue?: string | undefined;
|
|
1115
1115
|
description?: string | undefined;
|
|
1116
1116
|
placeholder?: string | undefined;
|
|
1117
|
-
}, "description" | "label" | "
|
|
1117
|
+
}, "description" | "label" | "placeholder" | "defaultValue" | "orientation" | "tooltip" | "options" | "helperText" | "clearable"> & {
|
|
1118
1118
|
required?: boolean;
|
|
1119
1119
|
}>;
|
|
1120
1120
|
readonly DateField: react26.FC<Pick<{
|
|
@@ -1135,7 +1135,7 @@ declare const useTanStackForm: <TFormData, TOnMount extends _tanstack_form_core0
|
|
|
1135
1135
|
defaultValue?: string | undefined;
|
|
1136
1136
|
description?: string | undefined;
|
|
1137
1137
|
placeholder?: string | undefined;
|
|
1138
|
-
}, "description" | "label" | "
|
|
1138
|
+
}, "description" | "label" | "placeholder" | "orientation" | "tooltip" | "helperText" | "showErrorMessage"> & {
|
|
1139
1139
|
required?: boolean;
|
|
1140
1140
|
minDate?: Date;
|
|
1141
1141
|
maxDate?: Date;
|
|
@@ -1226,7 +1226,7 @@ declare const useTanStackForm: <TFormData, TOnMount extends _tanstack_form_core0
|
|
|
1226
1226
|
showClearButton?: boolean | undefined;
|
|
1227
1227
|
description?: string | undefined;
|
|
1228
1228
|
placeholder?: string | undefined;
|
|
1229
|
-
}, "description" | "label" | "
|
|
1229
|
+
}, "description" | "label" | "placeholder" | "orientation" | "tooltip" | "counter" | "showClearButton" | "helperText" | "showErrorMessage"> & {
|
|
1230
1230
|
required?: boolean;
|
|
1231
1231
|
maxLength?: number;
|
|
1232
1232
|
}>;
|
|
@@ -1254,7 +1254,7 @@ declare const useTanStackForm: <TFormData, TOnMount extends _tanstack_form_core0
|
|
|
1254
1254
|
counter?: boolean | undefined;
|
|
1255
1255
|
description?: string | undefined;
|
|
1256
1256
|
placeholder?: string | undefined;
|
|
1257
|
-
}, "description" | "label" | "
|
|
1257
|
+
}, "description" | "label" | "placeholder" | "orientation" | "tooltip" | "counter" | "helperText" | "showErrorMessage"> & {
|
|
1258
1258
|
required?: boolean;
|
|
1259
1259
|
maxLength?: number;
|
|
1260
1260
|
}>;
|
|
@@ -1294,7 +1294,7 @@ declare const useTanStackForm: <TFormData, TOnMount extends _tanstack_form_core0
|
|
|
1294
1294
|
unit?: string | undefined;
|
|
1295
1295
|
description?: string | undefined;
|
|
1296
1296
|
placeholder?: string | undefined;
|
|
1297
|
-
}, "description" | "label" | "
|
|
1297
|
+
}, "description" | "label" | "placeholder" | "orientation" | "tooltip" | "helperText" | "showErrorMessage" | "rounding" | "decimalPlaces" | "percision" | "unit"> & {
|
|
1298
1298
|
required?: boolean;
|
|
1299
1299
|
allowNegative?: boolean;
|
|
1300
1300
|
}>;
|
|
@@ -1314,14 +1314,14 @@ declare const useTanStackForm: <TFormData, TOnMount extends _tanstack_form_core0
|
|
|
1314
1314
|
showErrorMessage?: boolean | undefined;
|
|
1315
1315
|
description?: string | undefined;
|
|
1316
1316
|
placeholder?: string | undefined;
|
|
1317
|
-
}, "description" | "label" | "
|
|
1317
|
+
}, "description" | "label" | "placeholder" | "orientation" | "tooltip" | "helperText" | "showErrorMessage"> & {
|
|
1318
1318
|
maxLength?: number;
|
|
1319
1319
|
}>;
|
|
1320
1320
|
readonly PasswordField: react26.FC<{
|
|
1321
1321
|
description?: string | undefined;
|
|
1322
1322
|
label: string;
|
|
1323
|
-
orientation?: "vertical" | "horizontal" | "responsive" | undefined;
|
|
1324
1323
|
placeholder?: string | undefined;
|
|
1324
|
+
orientation?: "vertical" | "horizontal" | "responsive" | undefined;
|
|
1325
1325
|
tooltip?: string | undefined;
|
|
1326
1326
|
helperText?: string | undefined;
|
|
1327
1327
|
showErrorMessage?: boolean | undefined;
|
|
@@ -1351,7 +1351,7 @@ declare const useTanStackForm: <TFormData, TOnMount extends _tanstack_form_core0
|
|
|
1351
1351
|
defaultValue?: string | undefined;
|
|
1352
1352
|
description?: string | undefined;
|
|
1353
1353
|
placeholder?: string | undefined;
|
|
1354
|
-
}, "description" | "label" | "
|
|
1354
|
+
}, "description" | "label" | "placeholder" | "defaultValue" | "orientation" | "tooltip" | "options" | "helperText" | "clearable"> & {
|
|
1355
1355
|
required?: boolean;
|
|
1356
1356
|
}>;
|
|
1357
1357
|
readonly DateField: react26.FC<Pick<{
|
|
@@ -1372,7 +1372,7 @@ declare const useTanStackForm: <TFormData, TOnMount extends _tanstack_form_core0
|
|
|
1372
1372
|
defaultValue?: string | undefined;
|
|
1373
1373
|
description?: string | undefined;
|
|
1374
1374
|
placeholder?: string | undefined;
|
|
1375
|
-
}, "description" | "label" | "
|
|
1375
|
+
}, "description" | "label" | "placeholder" | "orientation" | "tooltip" | "helperText" | "showErrorMessage"> & {
|
|
1376
1376
|
required?: boolean;
|
|
1377
1377
|
minDate?: Date;
|
|
1378
1378
|
maxDate?: Date;
|