najm-kit 2.7.0 → 2.7.2

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/index.d.ts CHANGED
@@ -1,8 +1,10 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { a as NajmThemeProviderProps, b as NajmAppearance, c as NajmMode, d as NajmDesignConfig, e as NajmThemeConfig, f as NajmAccent, g as NajmThemeTokens, h as NajmPreset, i as NajmComponentName, j as NajmComponentStyleConfig, k as NajmComponentThemeConfig, l as NajmTypographyConfig, m as NajmLayoutConfig, n as NajmVariantStyle, o as NTablePaginationVariant, p as NTablePaginationLabels, q as NTableCardPagination, r as NajmResponsiveBreakpoint, s as NajmResponsiveValue } from './NajmUIProvider-BsCoDjHH.js';
3
- export { D as DEFAULT_PAGINATION_KEY_PREFIX, t as DEFAULT_TIME_ZONE, u as NAJM_COMPONENT_NAMES, v as NTableDefaults, w as NTableDefaultsProvider, x as NTableInfinitePagination, y as NTableLoadMorePagination, z as NajmComponentRadius, A as NajmDensity, B as NajmPreferencesContextValue, C as NajmPreferencesProvider, E as NajmPreferencesProviderProps, F as NajmSlotStyle, G as NajmTranslate, H as NajmUIProvider, N as NajmUIProviderProps, R as RADIUS_VALUE_MAP, I as buildPaginationLabels, J as resolveRadiusValue, K as useNTableDefaults, L as useNajmPreferencesContext, M as useNajmTheme, O as useNajmTimeZone } from './NajmUIProvider-BsCoDjHH.js';
2
+ import { a as NajmDesignConfig, b as NajmThemeProviderProps, c as NajmAppearance, d as NajmMode, e as NajmThemeConfig, f as NajmAccent, g as NajmThemeTokens, h as NajmPreset, i as NajmComponentName, j as NajmComponentStyleConfig, k as NajmComponentThemeConfig, l as NajmTypographyConfig, m as NajmLayoutConfig, n as NajmVariantStyle, o as NajmResponsiveBreakpoint, p as NajmResponsiveValue } from './NajmUIProvider-ClpHD-55.js';
3
+ export { D as DEFAULT_TIME_ZONE, q as NAJM_COMPONENT_NAMES, r as NTableDefaults, s as NTableDefaultsProvider, t as NajmComponentRadius, u as NajmDensity, v as NajmPreferencesContextValue, w as NajmPreferencesProvider, x as NajmPreferencesProviderProps, y as NajmSlotStyle, z as NajmUIProvider, N as NajmUIProviderProps, R as RADIUS_VALUE_MAP, A as resolveRadiusValue, B as useNTableDefaults, C as useNajmPreferencesContext, E as useNajmTheme, F as useNajmTimeZone } from './NajmUIProvider-ClpHD-55.js';
4
4
  import * as React$1 from 'react';
5
5
  import React__default, { RefObject, ReactNode, ComponentType, InputHTMLAttributes, Ref, ImgHTMLAttributes, CSSProperties, MouseEvent, MouseEventHandler } from 'react';
6
+ import { N as NTablePaginationVariant, a as NTablePaginationLabels, b as NTableCardPagination } from './paginationLabels-CY2PvbMj.js';
7
+ export { D as DEFAULT_PAGINATION_KEY_PREFIX, c as NTableInfinitePagination, d as NTableLoadMorePagination, e as NajmTranslate, f as buildPaginationLabels } from './paginationLabels-CY2PvbMj.js';
6
8
  import * as class_variance_authority_types from 'class-variance-authority/types';
7
9
  import { VariantProps } from 'class-variance-authority';
8
10
  import * as LabelPrimitive from '@radix-ui/react-label';
@@ -20,6 +22,7 @@ import * as TooltipPrimitive from '@radix-ui/react-tooltip';
20
22
  import * as ProgressPrimitive from '@radix-ui/react-progress';
21
23
  import * as SeparatorPrimitive from '@radix-ui/react-separator';
22
24
  import { OverlayScrollbarsComponentProps } from 'overlayscrollbars-react';
25
+ export { a as NBrandingEditorValue, N as NBrandingInput, b as NBrandingPayload, c as NBrandingProvider, d as NBrandingStateProvider, e as NBrandingStateProviderProps, f as NBrandingValue, n as normalizeBranding, u as useNBranding, g as useNBrandingEditor } from './NBrandingContext-dkADu8JS.js';
23
26
  import * as AvatarPrimitive from '@radix-ui/react-avatar';
24
27
  import { Command as Command$1 } from 'cmdk';
25
28
  import * as CollapsiblePrimitive from '@radix-ui/react-collapsible';
@@ -36,8 +39,59 @@ import { ZodTypeAny, TypeOf } from 'zod';
36
39
  import { SortingState, ExpandedState, ColumnDef, Row, ColumnFiltersState, VisibilityState, RowSelectionState } from '@tanstack/react-table';
37
40
  export { N as NTableJson } from './NTableJson-tXqgfZI1.js';
38
41
  import * as _tanstack_table_core from '@tanstack/table-core';
42
+ export { A as ApiPage, C as CardPaginationLabels, a as CardPaginationState, D as DEFAULT_CARD_PAGINATION_KEY_PREFIX, b as DEFAULT_MAX_PAGE_SIZE, c as DEFAULT_PAGE_SIZE, L as ListStrategy, O as OffsetPage, d as OffsetPageFetcher, e as OffsetPageOptions, f as OffsetPagination, Q as QueryValue, R as ResolvedListMode, g as buildCardPaginationLabels, h as cleanQuery, i as createCardPagination, j as createOffsetPagination, k as fetchOffsetPage, l as getPageIndex } from './pagination-BvukSZir.js';
39
43
  import { ClassValue } from 'clsx';
40
44
 
45
+ /**
46
+ * Shared so the identity is stable across renders — `NajmDesignProvider`
47
+ * memoizes on `config.components`, `config.typography` and `config.layout`, and
48
+ * a fresh literal here would invalidate that on every render of the tree.
49
+ */
50
+ declare const EMPTY_DESIGN: NajmDesignConfig;
51
+ interface NajmDesignEditorValue {
52
+ /** `draft ?? committed`. What the tree is currently rendered against. */
53
+ design: NajmDesignConfig;
54
+ /** The last design the application saved. */
55
+ committed: NajmDesignConfig;
56
+ /** The unsaved edit layered over `committed`, or `null`. */
57
+ draft: NajmDesignConfig | null;
58
+ hasDraft: boolean;
59
+ /** Clones `committed` into a draft. A no-op while one is already open. */
60
+ beginDraft: () => void;
61
+ setDraft: (design: NajmDesignConfig) => void;
62
+ cancelDraft: () => void;
63
+ /** Adopt a design the application persisted, discarding any draft. */
64
+ setCommitted: (design: NajmDesignConfig) => void;
65
+ }
66
+ /**
67
+ * The draft/commit layer a runtime theme editor needs.
68
+ *
69
+ * Returns `null` outside a provider, so a component that only *offers* theme
70
+ * editing stays mountable in an application that has none.
71
+ *
72
+ * The editor holds no opinion about persistence: an application saves through
73
+ * whatever its own API is, then hands the result back via `setCommitted`. That
74
+ * is the same split `NajmPreferencesProvider` draws for theme and time zone.
75
+ */
76
+ declare function useNajmDesignEditor(): NajmDesignEditorValue | null;
77
+ interface NajmDesignEditorProviderProps {
78
+ children: React$1.ReactNode;
79
+ /**
80
+ * Controlled design. When given, this provider only forwards it and every
81
+ * command below is inert — the application already owns the state.
82
+ */
83
+ design?: NajmDesignConfig;
84
+ /**
85
+ * Seeds design state this provider owns from then on; ignored after mount.
86
+ *
87
+ * Uncontrolled on purpose, matching `initialTheme` and `initialTimeZone`:
88
+ * the page is rendered once against what the server resolved, and every
89
+ * change after that originates in the editor.
90
+ */
91
+ initialDesign?: NajmDesignConfig;
92
+ }
93
+ declare function NajmDesignEditorProvider({ children, design, initialDesign, }: NajmDesignEditorProviderProps): react_jsx_runtime.JSX.Element;
94
+
41
95
  /** Returns the active mode inherited from the nearest Najm theme provider. */
42
96
  declare function useNajmThemeMode(): NajmMode | undefined;
43
97
  declare function useNajmAppearance(): NajmAppearance;
@@ -335,6 +389,31 @@ declare function useSelection(visibleIds: string[]): {
335
389
  someVisibleSelected: boolean;
336
390
  };
337
391
 
392
+ /**
393
+ * A media query read during render rather than after it.
394
+ *
395
+ * `matchMedia` answers synchronously, so the answer belongs in the render that
396
+ * asks for it. Holding it in state and filling it from an effect makes every
397
+ * mount paint one frame of the wrong viewport: on a desktop table page that
398
+ * frame renders the card skeleton, which is then torn down for the table
399
+ * skeleton, so a single load appears to load twice.
400
+ *
401
+ * `useSyncExternalStore` still uses `serverSnapshot` for SSR and for the
402
+ * hydration render — nothing can be measured before the document exists — but
403
+ * every render after that, including every client-side navigation, reads the
404
+ * live value on its first pass.
405
+ */
406
+ declare function useMediaQuery(query: string, serverSnapshot?: boolean): boolean;
407
+ /**
408
+ * The viewport width below which a table renders as cards. Matches the `lg`
409
+ * breakpoint, which is where a row of table columns stops fitting.
410
+ */
411
+ declare const DEFAULT_CARD_BREAKPOINT = 1024;
412
+ /** Whether the viewport is narrow enough that a table should render as cards. */
413
+ declare function useCardViewport(breakpoint?: number): boolean;
414
+ /** The same decision as `useCardViewport`, as the mode name NTable takes. */
415
+ declare function useDesktopTableMode(breakpoint?: number): "table" | "cards";
416
+
338
417
  type NIconSource = React__default.ReactElement | React__default.ComponentType<any> | React__default.ExoticComponent<any> | string | {
339
418
  src: string;
340
419
  alt?: string;
@@ -1083,31 +1162,6 @@ interface NImageProps extends Omit<ImgHTMLAttributes<HTMLImageElement>, "src" |
1083
1162
  */
1084
1163
  declare function NImage({ src, fallback, alt, ...rest }: NImageProps): react_jsx_runtime.JSX.Element;
1085
1164
 
1086
- interface NBrandingValue {
1087
- /** Used as the logo's `alt` when the logo does not set one. */
1088
- appName?: string;
1089
- logoExpanded?: ReactNode | string;
1090
- /** Falls back to `logoExpanded`. */
1091
- logoCollapsed?: ReactNode | string;
1092
- /** Swapped in when a `string` logo fails to load. */
1093
- logoFallback?: string;
1094
- logoHref?: string;
1095
- }
1096
- /** Returns `null` outside a provider, so every consumer stays optional. */
1097
- declare function useNBranding(): NBrandingValue | null;
1098
- /**
1099
- * Publishes the app's marks once, so shells stop threading a `logo` through
1100
- * every surface that shows one. `NSidebar` reads this when no `logo` prop is
1101
- * given; an explicit `logo` always wins.
1102
- *
1103
- * Unlike `NSidebarProvider` this owns no state — the values are resolved by the
1104
- * app (usually server-side) and only forwarded, so memoizing on the fields is
1105
- * correct here.
1106
- */
1107
- declare function NBrandingProvider({ children, appName, logoExpanded, logoCollapsed, logoFallback, logoHref, }: Readonly<NBrandingValue & {
1108
- children: ReactNode;
1109
- }>): react_jsx_runtime.JSX.Element;
1110
-
1111
1165
  type AvatarSize = "xs" | "sm" | "md" | "lg" | "xl" | "2xl";
1112
1166
  type AvatarShape$1 = "circle" | "rounded" | "square";
1113
1167
  type AvatarStatusType = "online" | "offline" | "busy" | "away";
@@ -3674,6 +3728,117 @@ declare function cn(...inputs: ClassValue[]): string;
3674
3728
 
3675
3729
  declare function resolveSlot<T>(slot: T | ((ctx: any) => ReactNode), ctx?: any): ReactNode;
3676
3730
 
3731
+ /**
3732
+ * Locale-aware value formatting.
3733
+ *
3734
+ * Pure functions with no React and no DOM: every input arrives through
3735
+ * `NajmFormatConfig`. `NajmFormatProvider` binds them to the live locale and
3736
+ * time zone, and is what an application normally uses — these are exported for
3737
+ * the server, where there is no context to read.
3738
+ */
3739
+ /** Rendered in place of a value that is absent or not formattable. */
3740
+ declare const DEFAULT_PLACEHOLDER = "\u2014";
3741
+ interface NajmFormatConfig {
3742
+ /** BCP 47 tag handed to `Intl`, e.g. `"fr-MA"`. */
3743
+ locale: string;
3744
+ /**
3745
+ * IANA zone every date is rendered in. Omitted means the host zone, which is
3746
+ * the runtime's guess rather than the user's preference — supply it.
3747
+ */
3748
+ timeZone?: string;
3749
+ /** ISO 4217 code for `formatCurrency`, e.g. `"MAD"`. */
3750
+ currency?: string;
3751
+ /** Defaults to an em dash. */
3752
+ placeholder?: string;
3753
+ }
3754
+ /**
3755
+ * Formats an integer count of minor units — cents, centimes — as currency.
3756
+ *
3757
+ * Minor units are the input because money that survives a round trip is an
3758
+ * integer; a major-unit float cannot represent 0.1 exactly and has no business
3759
+ * in a ledger. A non-integer input is refused rather than rounded, since at
3760
+ * this layer it means the caller has already lost precision upstream.
3761
+ */
3762
+ declare function formatCurrency(minorUnits: number | null | undefined, { locale, currency, placeholder }: NajmFormatConfig): string;
3763
+ declare function formatNumber(value: number | null | undefined, { locale, placeholder }: NajmFormatConfig, options?: Intl.NumberFormatOptions): string;
3764
+ declare function formatPercent(value: number | null | undefined, config: NajmFormatConfig, fractionDigits?: number): string;
3765
+ declare function formatDate(value: Date | number | string | null | undefined, { locale, timeZone, placeholder, }: NajmFormatConfig, options?: Intl.DateTimeFormatOptions): string;
3766
+ declare function formatDateTime(value: Date | number | string | null | undefined, config: NajmFormatConfig, options?: Intl.DateTimeFormatOptions): string;
3767
+ declare function formatTime(value: Date | number | string | null | undefined, config: NajmFormatConfig): string;
3768
+ /**
3769
+ * Renders a timestamp as distance from now — "3 days ago", "in 2 hours".
3770
+ *
3771
+ * Time zone is not a parameter: an elapsed duration is the same in every zone.
3772
+ */
3773
+ declare function formatRelativeTime(value: Date | number | string | null | undefined, { locale, placeholder }: NajmFormatConfig, now?: Date | number): string;
3774
+ /**
3775
+ * Turns a machine token into readable text: `out_for_delivery` → `Out For
3776
+ * Delivery`.
3777
+ *
3778
+ * The fallback for a value with no catalog entry, not a substitute for one.
3779
+ * Anything user-visible and known in advance belongs in the translations.
3780
+ */
3781
+ declare function humanizeToken(value: string): string;
3782
+
3783
+ interface NajmFormatContextValue extends Required<Pick<NajmFormatConfig, "locale" | "timeZone" | "placeholder">> {
3784
+ currency?: string;
3785
+ /** Formats an integer count of minor units as `currency`. */
3786
+ money: (minorUnits: number | null | undefined) => string;
3787
+ number: (value: number | null | undefined, options?: Intl.NumberFormatOptions) => string;
3788
+ percent: (value: number | null | undefined, fractionDigits?: number) => string;
3789
+ date: (value: Date | number | string | null | undefined, options?: Intl.DateTimeFormatOptions) => string;
3790
+ dateTime: (value: Date | number | string | null | undefined) => string;
3791
+ time: (value: Date | number | string | null | undefined) => string;
3792
+ relativeTime: (value: Date | number | string | null | undefined) => string;
3793
+ humanize: (value: string) => string;
3794
+ /** The resolved inputs, for handing to the pure functions directly. */
3795
+ config: NajmFormatConfig;
3796
+ }
3797
+ interface NajmFormatProviderProps {
3798
+ children: React$1.ReactNode;
3799
+ /**
3800
+ * BCP 47 tag. `NajmAppProvider` derives this from the active `najm-i18n`
3801
+ * language, so applications using it rarely pass this by hand.
3802
+ */
3803
+ locale: string;
3804
+ /**
3805
+ * ISO 4217 code for `money`. Omitted means the application does not format
3806
+ * currency; calling `money` without it throws rather than guessing a symbol.
3807
+ */
3808
+ currency?: string;
3809
+ /**
3810
+ * Overrides the time zone from `NajmPreferencesProvider`.
3811
+ *
3812
+ * Reading preferences is the point — it is where the user's choice already
3813
+ * lives, and formatting dates against anything else is how a table ends up
3814
+ * disagreeing with the picker that set it.
3815
+ */
3816
+ timeZone?: string;
3817
+ /** Rendered for absent values. Defaults to an em dash. */
3818
+ placeholder?: string;
3819
+ }
3820
+ /**
3821
+ * Binds the formatters to the live locale and time zone.
3822
+ *
3823
+ * The time zone comes from `NajmPreferencesProvider` when one is mounted, which
3824
+ * is what makes this worth a provider rather than a helper import: the
3825
+ * preference and the rendering of every date derived from it stay in one place,
3826
+ * and a zone change re-renders the consumers instead of leaving stale text.
3827
+ */
3828
+ declare function NajmFormatProvider({ children, locale, currency, timeZone, placeholder, }: NajmFormatProviderProps): react_jsx_runtime.JSX.Element;
3829
+ /** Returns the context when one is mounted, or `null`. */
3830
+ declare function useNajmFormatContext(): NajmFormatContextValue | null;
3831
+ /**
3832
+ * The bound formatters.
3833
+ *
3834
+ * ```tsx
3835
+ * const fmt = useNajmFormat();
3836
+ * fmt.money(order.totalMinor); // "1 250,00 MAD"
3837
+ * fmt.date(order.createdAt); // "8 août 2026"
3838
+ * ```
3839
+ */
3840
+ declare function useNajmFormat(): NajmFormatContextValue;
3841
+
3677
3842
  interface JsonViewColors {
3678
3843
  background: string;
3679
3844
  phrase: string;
@@ -4096,4 +4261,4 @@ interface NGridItemProps extends Omit<React$1.AllHTMLAttributes<HTMLDivElement>,
4096
4261
  declare function NGrid({ as: Comp, children, cols, smCols, mdCols, lgCols, xlCols, gap, className, style, ...props }: NGridProps): react_jsx_runtime.JSX.Element;
4097
4262
  declare function NGridItem({ children, span, smSpan, mdSpan, lgSpan, xlSpan, className, ...props }: NGridItemProps): react_jsx_runtime.JSX.Element;
4098
4263
 
4099
- export { Alert, type AlertLook, type AlertOrientation, type AlertProps, type AlertSize, type AlertTone, type AlertVariant, NCard as AsyncCard, Avatar, AvatarFallback, AvatarFormInput, type AvatarFormInputProps, AvatarGroup, type AvatarGroupProps, AvatarImage, AvatarInput, type AvatarInputProps, type AvatarInputRadius, type AvatarProps$1 as AvatarProps, type AvatarShape$1 as AvatarShape, type AvatarSize, AvatarStatus, type AvatarStatusType, Badge, type BadgeColor, type BadgeIcon, type BadgeLook, type BadgeProps, type BadgeShape, type BadgeSize, type BadgeVariant, BaseInput, type BuildDefaultFileColumnsOptions, Button, type ButtonConfig, type ButtonIcon, type ButtonLoaderPosition, type ButtonProps, type ButtonRounded, type ButtonSize, type ButtonVariant, Calendar, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, CheckboxGroupInput, type CheckboxGroupInputProps, CheckboxInput, type CheckboxInputProps, Collapsible, CollapsibleContent, CollapsibleTrigger, ColorArrayInput, type ColorArrayInputProps, type ColorFormat, ColorPickerInput, type ColorPickerInputProps, Combobox, ComboboxInput, type ComboboxInputProps, type ComboboxOption, type ComboboxProps, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, type ContextMenuItem, DEFAULT_THEME_FILE_NAME, DateInput, type DateInputProps, type DeleteDialogOptions, Dialog, type DialogActionMode, type DialogApi, DialogClose, type DialogConfig, DialogContent, type DialogContentProps, DialogDescription, DialogFooter, DialogHeader, type DialogHeight, DialogOverlay, type DialogPadding, DialogPortal, type DialogRenderContext, type DialogRenderer, type DialogSize, type DialogStore, DialogTitle, DialogTrigger, type DialogVariant, type DialogWidth, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, DynamicArray, type DynamicArrayProps, EmojiInput, type EmojiInputProps, type FileBrowserMode, FileImportButton, FileInput, type FileInputProps, type FileNode, Form, FormControl, FormDescription, FormField, FormInput, type FormInputBackground, type FormInputProps, FormItem, FormLabel, FormMessage, type FormProps, type FormSlotClassNames, type FormVariant, IconButton, type IconButtonProps, type IconButtonSize, type IconButtonVariant, ImageInput, type ImageInputPreviewError, type ImageInputPreviewSource, type ImageInputProps, Indicator, type IndicatorHorizontal, type IndicatorOverlay, type IndicatorPosition, type IndicatorProps, type IndicatorResponsivePosition, type IndicatorSize, type IndicatorVertical, Input, type InputIcon, Label, LangInput, type LangInputProps, type LinkComponentType, MultiSelectInput, type MultiSelectInputProps, NAJM_SAVED_THEME_VALUE, NAlert, type NAppCommandItem, NAppShell, type NAppShellAction, type NAppShellClassNames, type NAppShellProps, type NAppShellUser, NCard as NAsyncCard, type CardClassNames as NAsyncCardClassNames, type CardProps as NAsyncCardProps, NAvatar, type NAvatarClassNames, type NAvatarProps, type AvatarShape as NAvatarShape, NBadge, type NBadgeLook, type NBadgeProps, NBarChart, type NBarChartProps, NBrandingProvider, type NBrandingValue, type NBulkAction, type NBulkActionButton, type NBulkActionSelect, NBulkActionsBar, type NBulkActionsBarProps, NButton, type NButtonProps, NCard, NCardAction, type CardClassNames as NCardClassNames, type NCardDensity, NCardFooter, NCardInfo, type NCardInfoProps, NCardMedia, type NCardMediaAspect, type NCardMediaPlacement, type NCardMediaProps, type NCardMediaSize, type NCardMediaVariant, type CardProps as NCardProps, NCardSection, type NCardSectionProps, type NCardSectionSurface, type NCartesianChartProps, type NChartCardProps, type NChartDatum, type NChartItem, type NChartSeries, type NChartSize, NChartSkeleton, type NChartSkeletonProps, type NChartSkeletonVariant, NCommandPalette, type NCommandPaletteProps, NConfirmDialog, type NConfirmDialogProps, NContextMenu, type NContextMenuItem, type NContextMenuProps, NDataCardShell, type NDataCardShellActions, type NDataCardShellProps, NDeleteDialog, NDeleteDialogContent, type NDeleteDialogContentProps, type NDeleteDialogProps, NDetailCard, type NDetailCardClassNames, type NDetailCardProps, NDetailItem, type NDetailItemProps, NDetailList, type NDetailListItem, type NDetailListProps, NDialog, type NDialogActionProps, NDialogDescription, type NDialogDescriptionProps, type NDialogDirectProps, NDialogHeader, type NDialogHeaderProps, NDialogPrimaryButton, type NDialogProps, NDialogSecondaryButton, NDonutCard, type NDonutCardClassNames, type NDonutCardItem, type NDonutCardLayout, type NDonutCardLegendMarker, type NDonutCardProps, type NDonutCardVariant, type NEditorTab, NEditorTabs, type NEditorTabsProps, NEmptyState, type NEmptyStateProps, NErrorBoundary, NErrorState, type NErrorStateProps, NFileBrowser, type NFileBrowserCardProps, type NFileBrowserProps, type NFileBrowserRenderThumbProps, NFileTypeIcon, type NFileTypeIconProps, NFilterBar, NFolderIcon, type NFolderIconProps, NForm, NFormSectionHeader, type NFormSectionHeaderProps, NGrid, type NGridCols, NGridItem, type NGridItemProps, type NGridProps, type NGridSpan, NIcon, type NIconProps, type NIconSource, NImage, type NImageProps, NIndicator, NInspectorSheet, NLineChart, type NLineChartProps, NLoadingState, type NLoadingStateProps, NMultiDialog, type NMultiDialogProps, NNavbar, NPageHeader, NPageHeaderActions, type NPageHeaderBreakpoint, NPageHeaderCompactActions, NPageHeaderFilters, type NPageHeaderProps, NPageHeaderTop, NPageLayout, type NPageLayoutProps, NPieChart, type NPieChartProps, NPortalScopeProvider, NProgress, type NProgressProps, NRowActions, NSection, NSectionHeader, type NSectionHeaderActionsProps, type NSectionHeaderContentProps, type NSectionHeaderProps, type NSectionHeaderSubtitleProps, type NSectionHeaderTitleProps, NSectionInfo, type NSectionInfoProps, type NSectionProps, NSectionWithInfo, type NSectionWithInfoItem, type NSectionWithInfoProps, NSheet, type NSheetClassNames, type NSheetProps, NSidebar, NSidebarBrand, type NSidebarBrandProps, NSidebarContent, type NSidebarContentProps, type NSidebarContextValue, NSidebarFooter, type NSidebarFooterProps, NSidebarHeader, type NSidebarHeaderProps, NSidebarItem, NSidebarMobile, type NSidebarMobileProps, NSidebarProvider, NSidebarSection, type NSidebarSectionProps, NSkeleton, NSkeletonCalendar, NSkeletonChart, NSkeletonDonut, NSkeletonEventList, NSkeletonWidget, NSkeletonWidgets, NSlider, type NSliderProps, NSmartPasteDialog, type NSmartPasteDialogProps, NSpinner, type NSpinnerProps, NStatCard, type NStatCardClassNames, type NStatCardProps, NStatCardSkeleton, type NStatCardVariant, NStatusBreakdown, type NStatusBreakdownProps, Swap as NSwap, type NSwapProps, NTable, NTableCardPagination, NTableCardRoot, type NTableCardRootProps, NTableCards, type NTableClassNames, type NTableColumnBreakpoint, type NTableColumnDef, type NTableColumnMeta, NTableContent, NTableHeader, NTableLoadingSkeleton, type NTableMenu, type NTableMenuProp, type NTablePageItem, NTablePagination, NTablePaginationLabels, NTablePaginationVariant, type NTableProps, NTableRowSkeleton, NTableSkeleton, type NTableState, NTabs, type NTabsClassNames, type NTabsColor, type NTabsItem, type NTabsProps, type NTabsStyles, NThemeCustomizer, type NThemeCustomizerFontOption, type NThemeCustomizerLabels, type NThemeCustomizerProps, type NThemeCustomizerTab, type NThemePreset, NThemePresets, type NThemePresetsLabels, type NThemePresetsProps, type NThemePresetsStatus, NUploader, type NUploaderItem, type NUploaderItemStatus, type NUploaderProps, NViewBody, NViewToggle, NajmAccent, NajmAppearance, type NajmBorderSide, NajmComponentName, NajmComponentStyleConfig, NajmComponentThemeConfig, NajmDesignConfig, NajmDesignProvider, type NajmDesignProviderProps, NajmLayoutConfig, NajmMode, NajmPreset, NajmResponsiveBreakpoint, NajmResponsiveValue, NajmScroll, type NajmScrollProps, NajmThemeConfig, NajmThemeProvider, NajmThemeProviderProps, NajmThemeTokens, NajmTypographyConfig, NajmVariantStyle, NativeSelect, type NativeSelectOption, type NativeSelectProps, type NavItem, type NavItemGroup, NumberInput, type NumberInputProps, OtpInput, type OtpInputProps, PasswordInput, type PasswordInputProps, PhoneInput, type PhoneInputProps, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, PrefixProvider, Progress, type ProgressColor, type ProgressLabelPosition, type ProgressProps, type ProgressSize, type PushDialogOptions, RadioGroup, RadioGroupInput, type RadioGroupInputProps, RadioGroupItem, type RenderSlot, RepeatingFields, type RepeatingFieldsProps, ScrollArea, type ScrollAreaProps, SearchField, SearchField as SearchInput, SegmentedControl, type SegmentedControlOption, type SegmentedControlProps, Select, SelectContent, SelectGroup, SelectInput, type SelectInputProps, SelectItem, type SelectItemType$1 as SelectItemDataType, type SelectItemType, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, type SidebarItemProps, type SidebarLogo, type SidebarLogoRender, type SidebarProps, type SidebarWidth, type SidebarWidths, SimpleTooltip, type SimpleTooltipProps, NSkeleton as Skeleton, Slider, SliderInput, type SliderInputProps, type SliderOrientation, type SliderProps, type SliderSize, type SliderVariant, type SmartPastePreview, type SpinnerVariant, StarRatingInput, type StarRatingInputProps, StatusPill, type StatusPillProps, type StatusPillTone, type StepConfig, StepIndicator, type StepMeta, StepsHeader, StepsProgress, type StorageMenuAction, type StorageSortOption, type StorageTarget, Swap, type SwapEffect, SwapIndeterminate, SwapOff, SwapOn, type SwapProps, type SwapSize, type SwapState, Switch, type SwitchColor, SwitchInput, type SwitchInputProps, type SwitchSize, TAB_COLORS, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, type TableHeaderColor, TableRow, type TableState, type TableStore, TableStoreContext, Tabs, TabsContent, TabsList, type TabsListProps, type TabsOrientation, type TabsProps, TabsTrigger, type TabsTriggerProps, type TabsVariant, TextAreaInput, type TextAreaInputProps, TextInput, type TextInputProps, Textarea, TimeInput, type TimeInputProps, TimeZoneInput, type TimeZoneInputProps, Toaster, Toggle, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, type UseContextMenuResult, type UseNFormOptions, type UseStorageContextMenuOptions, type UseStorageContextMenuResult, type UserMenuAction, VariantProvider, type WizardClassNames, WizardForm, type WizardFormProps, alertVariants, avatarVariants, badgeColorVariants, badgeVariants, buildDefaultFileColumns, buildPageItems, buttonVariants, cn, composePreset, createDialogStore, createTableStore, defineNajmDesignConfig, defineNajmThemeConfig, detectFormat, dialogVariants, filterResponsiveColumns, formatColor, formatFileBytes, formatFileRelative, getIconColorProps, getNChartColor, getNextEditorTabValue, hiddenBelowClasses, indicatorVariants, inputBorderClasses, normalizeThemeFileName, parseColor, parseNajmDesignConfig, parseNajmThemeConfig, parseThemeFile, resolveHiddenBelowClass, resolvePreset, resolveSlot, resolveVariantAlias, sidebarBorderClasses, sliderVariants, stringifyNajmDesignConfig, stringifyNajmThemeConfig, stringifyThemeFile, surfaceBorderClasses, swapVariants, toPickerHex, toggleVariants, tooltipContentVariants, truncateByCharacters, useClickOutside, useContextMenu, useDebouncedValue, useDelayedLoading, useDialog, useDialogStore, useDynamicPageSize, useFormField, useFormSubmission, useInfiniteScroll, useKeyboard, useLocalStorageState, useNBranding, useNForm, useNPortalScope, useNSidebar, useNajmAppearance, useNajmComponentStyle, useNajmDesign, useNajmThemeMode, usePrefix, useSelection, useStepNavigation, useStorageContextMenu, useStoreSync, useTable, useTableKeyboard, useTableStore, useVariant, useVariantPreset };
4264
+ export { Alert, type AlertLook, type AlertOrientation, type AlertProps, type AlertSize, type AlertTone, type AlertVariant, NCard as AsyncCard, Avatar, AvatarFallback, AvatarFormInput, type AvatarFormInputProps, AvatarGroup, type AvatarGroupProps, AvatarImage, AvatarInput, type AvatarInputProps, type AvatarInputRadius, type AvatarProps$1 as AvatarProps, type AvatarShape$1 as AvatarShape, type AvatarSize, AvatarStatus, type AvatarStatusType, Badge, type BadgeColor, type BadgeIcon, type BadgeLook, type BadgeProps, type BadgeShape, type BadgeSize, type BadgeVariant, BaseInput, type BuildDefaultFileColumnsOptions, Button, type ButtonConfig, type ButtonIcon, type ButtonLoaderPosition, type ButtonProps, type ButtonRounded, type ButtonSize, type ButtonVariant, Calendar, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, CheckboxGroupInput, type CheckboxGroupInputProps, CheckboxInput, type CheckboxInputProps, Collapsible, CollapsibleContent, CollapsibleTrigger, ColorArrayInput, type ColorArrayInputProps, type ColorFormat, ColorPickerInput, type ColorPickerInputProps, Combobox, ComboboxInput, type ComboboxInputProps, type ComboboxOption, type ComboboxProps, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, type ContextMenuItem, DEFAULT_CARD_BREAKPOINT, DEFAULT_PLACEHOLDER, DEFAULT_THEME_FILE_NAME, DateInput, type DateInputProps, type DeleteDialogOptions, Dialog, type DialogActionMode, type DialogApi, DialogClose, type DialogConfig, DialogContent, type DialogContentProps, DialogDescription, DialogFooter, DialogHeader, type DialogHeight, DialogOverlay, type DialogPadding, DialogPortal, type DialogRenderContext, type DialogRenderer, type DialogSize, type DialogStore, DialogTitle, DialogTrigger, type DialogVariant, type DialogWidth, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, DynamicArray, type DynamicArrayProps, EMPTY_DESIGN, EmojiInput, type EmojiInputProps, type FileBrowserMode, FileImportButton, FileInput, type FileInputProps, type FileNode, Form, FormControl, FormDescription, FormField, FormInput, type FormInputBackground, type FormInputProps, FormItem, FormLabel, FormMessage, type FormProps, type FormSlotClassNames, type FormVariant, IconButton, type IconButtonProps, type IconButtonSize, type IconButtonVariant, ImageInput, type ImageInputPreviewError, type ImageInputPreviewSource, type ImageInputProps, Indicator, type IndicatorHorizontal, type IndicatorOverlay, type IndicatorPosition, type IndicatorProps, type IndicatorResponsivePosition, type IndicatorSize, type IndicatorVertical, Input, type InputIcon, Label, LangInput, type LangInputProps, type LinkComponentType, MultiSelectInput, type MultiSelectInputProps, NAJM_SAVED_THEME_VALUE, NAlert, type NAppCommandItem, NAppShell, type NAppShellAction, type NAppShellClassNames, type NAppShellProps, type NAppShellUser, NCard as NAsyncCard, type CardClassNames as NAsyncCardClassNames, type CardProps as NAsyncCardProps, NAvatar, type NAvatarClassNames, type NAvatarProps, type AvatarShape as NAvatarShape, NBadge, type NBadgeLook, type NBadgeProps, NBarChart, type NBarChartProps, type NBulkAction, type NBulkActionButton, type NBulkActionSelect, NBulkActionsBar, type NBulkActionsBarProps, NButton, type NButtonProps, NCard, NCardAction, type CardClassNames as NCardClassNames, type NCardDensity, NCardFooter, NCardInfo, type NCardInfoProps, NCardMedia, type NCardMediaAspect, type NCardMediaPlacement, type NCardMediaProps, type NCardMediaSize, type NCardMediaVariant, type CardProps as NCardProps, NCardSection, type NCardSectionProps, type NCardSectionSurface, type NCartesianChartProps, type NChartCardProps, type NChartDatum, type NChartItem, type NChartSeries, type NChartSize, NChartSkeleton, type NChartSkeletonProps, type NChartSkeletonVariant, NCommandPalette, type NCommandPaletteProps, NConfirmDialog, type NConfirmDialogProps, NContextMenu, type NContextMenuItem, type NContextMenuProps, NDataCardShell, type NDataCardShellActions, type NDataCardShellProps, NDeleteDialog, NDeleteDialogContent, type NDeleteDialogContentProps, type NDeleteDialogProps, NDetailCard, type NDetailCardClassNames, type NDetailCardProps, NDetailItem, type NDetailItemProps, NDetailList, type NDetailListItem, type NDetailListProps, NDialog, type NDialogActionProps, NDialogDescription, type NDialogDescriptionProps, type NDialogDirectProps, NDialogHeader, type NDialogHeaderProps, NDialogPrimaryButton, type NDialogProps, NDialogSecondaryButton, NDonutCard, type NDonutCardClassNames, type NDonutCardItem, type NDonutCardLayout, type NDonutCardLegendMarker, type NDonutCardProps, type NDonutCardVariant, type NEditorTab, NEditorTabs, type NEditorTabsProps, NEmptyState, type NEmptyStateProps, NErrorBoundary, NErrorState, type NErrorStateProps, NFileBrowser, type NFileBrowserCardProps, type NFileBrowserProps, type NFileBrowserRenderThumbProps, NFileTypeIcon, type NFileTypeIconProps, NFilterBar, NFolderIcon, type NFolderIconProps, NForm, NFormSectionHeader, type NFormSectionHeaderProps, NGrid, type NGridCols, NGridItem, type NGridItemProps, type NGridProps, type NGridSpan, NIcon, type NIconProps, type NIconSource, NImage, type NImageProps, NIndicator, NInspectorSheet, NLineChart, type NLineChartProps, NLoadingState, type NLoadingStateProps, NMultiDialog, type NMultiDialogProps, NNavbar, NPageHeader, NPageHeaderActions, type NPageHeaderBreakpoint, NPageHeaderCompactActions, NPageHeaderFilters, type NPageHeaderProps, NPageHeaderTop, NPageLayout, type NPageLayoutProps, NPieChart, type NPieChartProps, NPortalScopeProvider, NProgress, type NProgressProps, NRowActions, NSection, NSectionHeader, type NSectionHeaderActionsProps, type NSectionHeaderContentProps, type NSectionHeaderProps, type NSectionHeaderSubtitleProps, type NSectionHeaderTitleProps, NSectionInfo, type NSectionInfoProps, type NSectionProps, NSectionWithInfo, type NSectionWithInfoItem, type NSectionWithInfoProps, NSheet, type NSheetClassNames, type NSheetProps, NSidebar, NSidebarBrand, type NSidebarBrandProps, NSidebarContent, type NSidebarContentProps, type NSidebarContextValue, NSidebarFooter, type NSidebarFooterProps, NSidebarHeader, type NSidebarHeaderProps, NSidebarItem, NSidebarMobile, type NSidebarMobileProps, NSidebarProvider, NSidebarSection, type NSidebarSectionProps, NSkeleton, NSkeletonCalendar, NSkeletonChart, NSkeletonDonut, NSkeletonEventList, NSkeletonWidget, NSkeletonWidgets, NSlider, type NSliderProps, NSmartPasteDialog, type NSmartPasteDialogProps, NSpinner, type NSpinnerProps, NStatCard, type NStatCardClassNames, type NStatCardProps, NStatCardSkeleton, type NStatCardVariant, NStatusBreakdown, type NStatusBreakdownProps, Swap as NSwap, type NSwapProps, NTable, NTableCardPagination, NTableCardRoot, type NTableCardRootProps, NTableCards, type NTableClassNames, type NTableColumnBreakpoint, type NTableColumnDef, type NTableColumnMeta, NTableContent, NTableHeader, NTableLoadingSkeleton, type NTableMenu, type NTableMenuProp, type NTablePageItem, NTablePagination, NTablePaginationLabels, NTablePaginationVariant, type NTableProps, NTableRowSkeleton, NTableSkeleton, type NTableState, NTabs, type NTabsClassNames, type NTabsColor, type NTabsItem, type NTabsProps, type NTabsStyles, NThemeCustomizer, type NThemeCustomizerFontOption, type NThemeCustomizerLabels, type NThemeCustomizerProps, type NThemeCustomizerTab, type NThemePreset, NThemePresets, type NThemePresetsLabels, type NThemePresetsProps, type NThemePresetsStatus, NUploader, type NUploaderItem, type NUploaderItemStatus, type NUploaderProps, NViewBody, NViewToggle, NajmAccent, NajmAppearance, type NajmBorderSide, NajmComponentName, NajmComponentStyleConfig, NajmComponentThemeConfig, NajmDesignConfig, NajmDesignEditorProvider, type NajmDesignEditorProviderProps, type NajmDesignEditorValue, NajmDesignProvider, type NajmDesignProviderProps, type NajmFormatConfig, type NajmFormatContextValue, NajmFormatProvider, type NajmFormatProviderProps, NajmLayoutConfig, NajmMode, NajmPreset, NajmResponsiveBreakpoint, NajmResponsiveValue, NajmScroll, type NajmScrollProps, NajmThemeConfig, NajmThemeProvider, NajmThemeProviderProps, NajmThemeTokens, NajmTypographyConfig, NajmVariantStyle, NativeSelect, type NativeSelectOption, type NativeSelectProps, type NavItem, type NavItemGroup, NumberInput, type NumberInputProps, OtpInput, type OtpInputProps, PasswordInput, type PasswordInputProps, PhoneInput, type PhoneInputProps, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, PrefixProvider, Progress, type ProgressColor, type ProgressLabelPosition, type ProgressProps, type ProgressSize, type PushDialogOptions, RadioGroup, RadioGroupInput, type RadioGroupInputProps, RadioGroupItem, type RenderSlot, RepeatingFields, type RepeatingFieldsProps, ScrollArea, type ScrollAreaProps, SearchField, SearchField as SearchInput, SegmentedControl, type SegmentedControlOption, type SegmentedControlProps, Select, SelectContent, SelectGroup, SelectInput, type SelectInputProps, SelectItem, type SelectItemType$1 as SelectItemDataType, type SelectItemType, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, type SidebarItemProps, type SidebarLogo, type SidebarLogoRender, type SidebarProps, type SidebarWidth, type SidebarWidths, SimpleTooltip, type SimpleTooltipProps, NSkeleton as Skeleton, Slider, SliderInput, type SliderInputProps, type SliderOrientation, type SliderProps, type SliderSize, type SliderVariant, type SmartPastePreview, type SpinnerVariant, StarRatingInput, type StarRatingInputProps, StatusPill, type StatusPillProps, type StatusPillTone, type StepConfig, StepIndicator, type StepMeta, StepsHeader, StepsProgress, type StorageMenuAction, type StorageSortOption, type StorageTarget, Swap, type SwapEffect, SwapIndeterminate, SwapOff, SwapOn, type SwapProps, type SwapSize, type SwapState, Switch, type SwitchColor, SwitchInput, type SwitchInputProps, type SwitchSize, TAB_COLORS, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, type TableHeaderColor, TableRow, type TableState, type TableStore, TableStoreContext, Tabs, TabsContent, TabsList, type TabsListProps, type TabsOrientation, type TabsProps, TabsTrigger, type TabsTriggerProps, type TabsVariant, TextAreaInput, type TextAreaInputProps, TextInput, type TextInputProps, Textarea, TimeInput, type TimeInputProps, TimeZoneInput, type TimeZoneInputProps, Toaster, Toggle, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, type UseContextMenuResult, type UseNFormOptions, type UseStorageContextMenuOptions, type UseStorageContextMenuResult, type UserMenuAction, VariantProvider, type WizardClassNames, WizardForm, type WizardFormProps, alertVariants, avatarVariants, badgeColorVariants, badgeVariants, buildDefaultFileColumns, buildPageItems, buttonVariants, cn, composePreset, createDialogStore, createTableStore, defineNajmDesignConfig, defineNajmThemeConfig, detectFormat, dialogVariants, filterResponsiveColumns, formatColor, formatCurrency, formatDate, formatDateTime, formatFileBytes, formatFileRelative, formatNumber, formatPercent, formatRelativeTime, formatTime, getIconColorProps, getNChartColor, getNextEditorTabValue, hiddenBelowClasses, humanizeToken, indicatorVariants, inputBorderClasses, normalizeThemeFileName, parseColor, parseNajmDesignConfig, parseNajmThemeConfig, parseThemeFile, resolveHiddenBelowClass, resolvePreset, resolveSlot, resolveVariantAlias, sidebarBorderClasses, sliderVariants, stringifyNajmDesignConfig, stringifyNajmThemeConfig, stringifyThemeFile, surfaceBorderClasses, swapVariants, toPickerHex, toggleVariants, tooltipContentVariants, truncateByCharacters, useCardViewport, useClickOutside, useContextMenu, useDebouncedValue, useDelayedLoading, useDesktopTableMode, useDialog, useDialogStore, useDynamicPageSize, useFormField, useFormSubmission, useInfiniteScroll, useKeyboard, useLocalStorageState, useMediaQuery, useNForm, useNPortalScope, useNSidebar, useNajmAppearance, useNajmComponentStyle, useNajmDesign, useNajmDesignEditor, useNajmFormat, useNajmFormatContext, useNajmThemeMode, usePrefix, useSelection, useStepNavigation, useStorageContextMenu, useStoreSync, useTable, useTableKeyboard, useTableStore, useVariant, useVariantPreset };
package/dist/index.mjs CHANGED
@@ -1,11 +1,12 @@
1
- import { useNBranding } from './chunk-IGUQGT3G.mjs';
2
- export { NBrandingProvider, useNBranding } from './chunk-IGUQGT3G.mjs';
3
- import { useResolvedPaginationLabels } from './chunk-7F65QM43.mjs';
4
- export { DEFAULT_PAGINATION_KEY_PREFIX, DEFAULT_TIME_ZONE, NTableDefaultsProvider, NajmPreferencesProvider, NajmUIProvider, buildPaginationLabels, useNTableDefaults, useNajmPreferencesContext, useNajmTheme, useNajmTimeZone } from './chunk-7F65QM43.mjs';
5
- import { resolveRadiusValue, inputBorderClasses, cn, Button, NIcon, NajmScroll, surfaceBorderClasses, useNajmScrollViewport, resolveVariantAlias, buttonVariants, NButton, parseNajmDesignConfig, useTableStore, TableStoreContext, sidebarBorderClasses, NTableJson } from './chunk-4DLRXB2W.mjs';
6
- export { Button, NAJM_COMPONENT_NAMES, NButton, NIcon, NTableJson, NajmScroll, RADIUS_VALUE_MAP, TableStoreContext, buttonVariants, cn, defineNajmDesignConfig, defineNajmThemeConfig, inputBorderClasses, parseNajmDesignConfig, parseNajmThemeConfig, resolveRadiusValue, resolveVariantAlias, sidebarBorderClasses, stringifyNajmDesignConfig, stringifyNajmThemeConfig, surfaceBorderClasses, useTableStore } from './chunk-4DLRXB2W.mjs';
7
- import { useNajmComponentStyle, NajmThemeContainerCtx, useNajmThemeMode, useNajmDesign, composePreset } from './chunk-YBM5CTE6.mjs';
8
- export { NajmDesignProvider, NajmThemeProvider, composePreset, resolvePreset, useNajmAppearance, useNajmComponentStyle, useNajmDesign, useNajmThemeMode } from './chunk-YBM5CTE6.mjs';
1
+ import { useNBranding } from './chunk-QOP7L6RD.mjs';
2
+ export { DEFAULT_PLACEHOLDER, NBrandingProvider, NBrandingStateProvider, NajmFormatProvider, formatCurrency, formatDate, formatDateTime, formatNumber, formatPercent, formatRelativeTime, formatTime, humanizeToken, normalizeBranding, useNBranding, useNBrandingEditor, useNajmFormat, useNajmFormatContext } from './chunk-QOP7L6RD.mjs';
3
+ import { useResolvedPaginationLabels } from './chunk-USZUOJMK.mjs';
4
+ export { DEFAULT_PAGINATION_KEY_PREFIX, DEFAULT_TIME_ZONE, EMPTY_DESIGN, NTableDefaultsProvider, NajmDesignEditorProvider, NajmPreferencesProvider, NajmUIProvider, buildPaginationLabels, useNTableDefaults, useNajmDesignEditor, useNajmPreferencesContext, useNajmTheme, useNajmTimeZone } from './chunk-USZUOJMK.mjs';
5
+ import { resolveRadiusValue, inputBorderClasses, Button, NIcon, NajmScroll, surfaceBorderClasses, useNajmScrollViewport, resolveVariantAlias, buttonVariants, NButton, parseNajmDesignConfig, useTableStore, TableStoreContext, sidebarBorderClasses, NTableJson } from './chunk-6OOBAEH2.mjs';
6
+ export { Button, NAJM_COMPONENT_NAMES, NButton, NIcon, NTableJson, NajmScroll, RADIUS_VALUE_MAP, TableStoreContext, buttonVariants, defineNajmDesignConfig, defineNajmThemeConfig, inputBorderClasses, parseNajmDesignConfig, parseNajmThemeConfig, resolveRadiusValue, resolveVariantAlias, sidebarBorderClasses, stringifyNajmDesignConfig, stringifyNajmThemeConfig, surfaceBorderClasses, useTableStore } from './chunk-6OOBAEH2.mjs';
7
+ import { useNajmComponentStyle, cn, NajmThemeContainerCtx, useNajmThemeMode, useNajmDesign, composePreset } from './chunk-KVZACF4G.mjs';
8
+ export { NajmDesignProvider, NajmThemeProvider, cn, composePreset, resolvePreset, useNajmAppearance, useNajmComponentStyle, useNajmDesign, useNajmThemeMode } from './chunk-KVZACF4G.mjs';
9
+ export { DEFAULT_CARD_BREAKPOINT, DEFAULT_CARD_PAGINATION_KEY_PREFIX, DEFAULT_MAX_PAGE_SIZE, DEFAULT_PAGE_SIZE, buildCardPaginationLabels, cleanQuery, createCardPagination, createOffsetPagination, fetchOffsetPage, getPageIndex, useCardViewport, useDesktopTableMode, useMediaQuery } from './chunk-7J7DWGKB.mjs';
9
10
  import * as React60 from 'react';
10
11
  import React60__default, { createContext, useRef, useMemo, useState, useEffect, useContext, useCallback, useLayoutEffect, isValidElement } from 'react';
11
12
  import * as TabsPrimitive from '@radix-ui/react-tabs';
package/dist/json.mjs CHANGED
@@ -1,6 +1,6 @@
1
- import { cn, Button } from './chunk-4DLRXB2W.mjs';
2
- export { NTableJson } from './chunk-4DLRXB2W.mjs';
3
- import './chunk-YBM5CTE6.mjs';
1
+ import { Button } from './chunk-6OOBAEH2.mjs';
2
+ export { NTableJson } from './chunk-6OOBAEH2.mjs';
3
+ import { cn } from './chunk-KVZACF4G.mjs';
4
4
  import { useMemo, useRef, useCallback } from 'react';
5
5
  import CodeMirror from '@uiw/react-codemirror';
6
6
  import { json } from '@codemirror/lang-json';
@@ -0,0 +1,130 @@
1
+ import { e as NajmTranslate, b as NTableCardPagination } from './paginationLabels-CY2PvbMj.js';
2
+
3
+ /**
4
+ * How a list continues.
5
+ *
6
+ * - `paged` — numbered pages on desktop, scroll continuation on card viewports.
7
+ * - `infinite` — scroll continuation everywhere.
8
+ * - `all` — one request for the whole set, no controls. Only valid for a list
9
+ * with a proven bound.
10
+ */
11
+ type ListStrategy = "all" | "infinite" | "paged";
12
+ /** The presentation mode resolved for the current viewport and strategy. */
13
+ type ResolvedListMode = "all" | "infinite" | "paged";
14
+ interface CardPaginationState {
15
+ /**
16
+ * The resolved mode. When omitted, `cardViewport` alone decides — a card
17
+ * viewport continues on scroll, a desktop one paginates.
18
+ */
19
+ mode?: ResolvedListMode;
20
+ cardViewport?: boolean;
21
+ hasNextPage: boolean;
22
+ loadingMore: boolean;
23
+ /**
24
+ * Truthy when the last append failed. The value is not rendered — the message
25
+ * shown is `loadMoreError` from the labels, so a thrown `Error` or an API
26
+ * envelope can be passed straight through without leaking its text into the UI.
27
+ */
28
+ loadMoreError?: unknown;
29
+ onLoadMore: () => unknown | Promise<unknown>;
30
+ }
31
+ interface CardPaginationLabels {
32
+ loadMoreError?: string;
33
+ retryLabel?: string;
34
+ itemsLoaded?: (count: number) => string;
35
+ }
36
+ declare const DEFAULT_CARD_PAGINATION_KEY_PREFIX = "common.pagination";
37
+ /**
38
+ * Projects a translator onto the three card-continuation labels, matching
39
+ * `buildPaginationLabels` — same prefix convention, same key-per-field naming.
40
+ */
41
+ declare function buildCardPaginationLabels(t: NajmTranslate, prefix?: string): CardPaginationLabels;
42
+ /**
43
+ * Builds the `cardPagination` prop from the state a paged list already holds.
44
+ *
45
+ * The three modes are not interchangeable presentations of one thing: `paged`
46
+ * hands page-size control back to NTable, which measures the container and
47
+ * reports the size it wants through `onPaginationChange`; `all` renders exactly
48
+ * what it is given and shows no controls; `infinite` is the only one that needs
49
+ * continuation wiring, which is why the other two ignore the labels entirely.
50
+ */
51
+ declare function createCardPagination(state: CardPaginationState, labels?: CardPaginationLabels): NTableCardPagination;
52
+
53
+ /**
54
+ * The offset-pagination protocol behind `NTable`'s page controls.
55
+ *
56
+ * The kit already owns the consuming half — `useDynamicPageSize` measures how
57
+ * many rows fit, `buildPageItems` renders the bar. This is the fetching half:
58
+ * how one page is requested, and how "is there another one" is answered when
59
+ * the endpoint does not say.
60
+ *
61
+ * Pure, framework-agnostic, and usable on the server. Nothing here knows about
62
+ * react-query.
63
+ */
64
+ /** A page response from an endpoint that reports a result total. */
65
+ interface ApiPage<T> {
66
+ rows: T[];
67
+ /** Rows matching the query on the server, or `null` if the endpoint is silent. */
68
+ total: number | null;
69
+ }
70
+ interface OffsetPagination {
71
+ limit: number;
72
+ offset: number;
73
+ }
74
+ interface OffsetPage<T> {
75
+ rows: T[];
76
+ hasNextPage: boolean;
77
+ nextOffset: number;
78
+ /** How many rows match in total, or `null` if the endpoint does not say. */
79
+ total: number | null;
80
+ }
81
+ /**
82
+ * Fetches one window.
83
+ *
84
+ * The bare-array return is not a legacy concession to delete later: plenty of
85
+ * endpoints have no cheap way to count, and `COUNT(*)` over a filtered join is
86
+ * exactly the query worth avoiding. Both shapes are first-class.
87
+ */
88
+ type OffsetPageFetcher<T> = (pagination: OffsetPagination) => Promise<ApiPage<T> | T[]>;
89
+ declare const DEFAULT_PAGE_SIZE = 25;
90
+ /**
91
+ * The largest `limit` a server will honour. Requests are clamped to it, and it
92
+ * is the ceiling the probe row cannot exceed — see `fetchOffsetPage`.
93
+ */
94
+ declare const DEFAULT_MAX_PAGE_SIZE = 100;
95
+ interface OffsetPageOptions {
96
+ /** Defaults to `DEFAULT_MAX_PAGE_SIZE`. Match your server's clamp. */
97
+ maxLimit?: number;
98
+ }
99
+ declare function createOffsetPagination(pageIndex?: number, pageSize?: number, { maxLimit }?: OffsetPageOptions): OffsetPagination;
100
+ declare function getPageIndex({ limit, offset }: OffsetPagination): number;
101
+ /**
102
+ * Fetches one page and answers whether another follows.
103
+ *
104
+ * Two strategies, chosen by what the endpoint returns:
105
+ *
106
+ * - **With a total**, continuation is arithmetic — no extra rows, no extra
107
+ * request.
108
+ * - **Without one**, the request carries a *probe row*: it asks for `limit + 1`
109
+ * and reports a next page when that extra row comes back. The probe is
110
+ * discarded before returning, so callers always receive at most `limit` rows.
111
+ *
112
+ * Whether an endpoint reports a total is only knowable from its response, so
113
+ * the probe row rides along on the first request either way. The one case the
114
+ * probe cannot cover is a request already at `maxLimit`, where there is no room
115
+ * to ask for one more; continuation then costs a second single-row lookahead.
116
+ * That is the case a result total exists to avoid, and why the endpoints
117
+ * backing numbered pages should report one.
118
+ */
119
+ declare function fetchOffsetPage<T>(fetchPage: OffsetPageFetcher<T>, pagination: OffsetPagination, { maxLimit }?: OffsetPageOptions): Promise<OffsetPage<T>>;
120
+ type QueryValue = string | number | boolean | null | undefined;
121
+ /**
122
+ * Drops empty entries from a query object, so an untouched filter contributes
123
+ * no parameter at all rather than `?status=`.
124
+ *
125
+ * `false` and `0` are kept — both are meaningful filter values, and dropping
126
+ * them is the bug this exists to prevent.
127
+ */
128
+ declare function cleanQuery(query: Record<string, QueryValue>): Record<string, QueryValue>;
129
+
130
+ export { type ApiPage as A, type CardPaginationLabels as C, DEFAULT_CARD_PAGINATION_KEY_PREFIX as D, type ListStrategy as L, type OffsetPage as O, type QueryValue as Q, type ResolvedListMode as R, type CardPaginationState as a, DEFAULT_MAX_PAGE_SIZE as b, DEFAULT_PAGE_SIZE as c, type OffsetPageFetcher as d, type OffsetPageOptions as e, type OffsetPagination as f, buildCardPaginationLabels as g, cleanQuery as h, createCardPagination as i, createOffsetPagination as j, fetchOffsetPage as k, getPageIndex as l };
@@ -0,0 +1,143 @@
1
+ import { ReactNode } from 'react';
2
+
3
+ /**
4
+ * How the page controls present position within the result.
5
+ *
6
+ * `numbered` renders a windowed list of page buttons. `compact` renders the
7
+ * `Page X of Y` text with first/previous/next/last controls.
8
+ *
9
+ * `numbered` needs a trustworthy page count. Under `manualPagination` that
10
+ * means the application must pass a `pageCount` derived from a real result
11
+ * total, or — when its endpoint reports no total — pass `hasNextPage` and no
12
+ * `pageCount` at all, which renders the unbounded bar described on the NTable
13
+ * prop. With neither, the bar falls back to `compact` on its own rather than
14
+ * inviting clicks on pages that may not exist.
15
+ *
16
+ * What it must never be handed is a `pageCount` that is really a lower bound,
17
+ * such as `pageIndex + 2`. That reads as a two-page result on page one and a
18
+ * three-page result on page two, so the bar grows a number per click with
19
+ * nothing to say why. NTable warns in development when it catches a count
20
+ * moving in lockstep with the page index.
21
+ */
22
+ type NTablePaginationVariant = "numbered" | "compact";
23
+ /**
24
+ * Accessible names and visible copy for the page controls.
25
+ *
26
+ * Every field is optional and falls back to English. Supply them to localize —
27
+ * the numbered variant is mostly digits, but its controls still need names.
28
+ */
29
+ interface NTablePaginationLabels {
30
+ /** Labels the rows-per-page select. Defaults to `"Rows/page"`. */
31
+ rowsPerPage?: string;
32
+ /** Accessible name of the whole page control group. Defaults to `"Pagination"`. */
33
+ pagination?: string;
34
+ /** Accessible name for one page button, given a 1-based page. */
35
+ goToPage?: (page: number) => string;
36
+ /** Accessible name of the current page button, given a 1-based page. */
37
+ currentPage?: (page: number) => string;
38
+ firstPage?: string;
39
+ previousPage?: string;
40
+ nextPage?: string;
41
+ lastPage?: string;
42
+ /** The `compact` variant's position text, given 1-based values. */
43
+ pageOf?: (page: number, pageCount: number) => string;
44
+ /**
45
+ * The position text when the result has no known total, given the 1-based
46
+ * page. Defaults to `"Page X"` — there is no `of Y` to state, and repeating
47
+ * the moving lower bound there would be the same lie the numbered bar avoids.
48
+ */
49
+ pageOfUnknown?: (page: number) => string;
50
+ /** The selection summary, given selected and total row counts. */
51
+ rowsSelected?: (selected: number, total: number) => string;
52
+ }
53
+ interface NTableLoadMorePagination {
54
+ /** Render the supplied rows as one card list with an explicit continuation control. */
55
+ mode: "load-more";
56
+ /** Whether the owning application has another server page available. */
57
+ hasNextPage: boolean;
58
+ /** True while the owning application is appending the next page. */
59
+ loadingMore?: boolean;
60
+ /** A controlled append error. Existing rows remain rendered and the control becomes Retry. */
61
+ loadMoreError?: ReactNode;
62
+ /** Fetch exactly one additional page. Najm Kit never constructs or owns the request. */
63
+ onLoadMore: () => unknown | Promise<unknown>;
64
+ loadMoreLabel?: string;
65
+ loadingMoreLabel?: string;
66
+ retryLabel?: string;
67
+ endLabel?: string;
68
+ loadMoreErrorLabel?: string;
69
+ /** Localize the polite announcement made after appended rows arrive. */
70
+ itemsLoadedLabel?: (count: number) => string;
71
+ }
72
+ interface NTableInfinitePagination {
73
+ /**
74
+ * Render the supplied rows as one card list that continues automatically when
75
+ * the end of the list scrolls into view. No control and no end-of-list
76
+ * element are rendered while the list is healthy; the continuation button
77
+ * appears only after an append failure, as the retry target.
78
+ */
79
+ mode: "infinite";
80
+ /** Whether the owning application has another server page available. */
81
+ hasNextPage: boolean;
82
+ /** True while the owning application is appending the next page. */
83
+ loadingMore?: boolean;
84
+ /** A controlled append error. Existing rows remain rendered and Retry appears. */
85
+ loadMoreError?: ReactNode;
86
+ /** Fetch exactly one additional page. Najm Kit never constructs or owns the request. */
87
+ onLoadMore: () => unknown | Promise<unknown>;
88
+ /**
89
+ * Distance ahead of the list end at which the next page is requested.
90
+ * Defaults to `"80px"`.
91
+ */
92
+ rootMargin?: string;
93
+ loadingMoreLabel?: string;
94
+ retryLabel?: string;
95
+ loadMoreErrorLabel?: string;
96
+ /** Localize the polite announcement made after appended rows arrive. */
97
+ itemsLoadedLabel?: (count: number) => string;
98
+ }
99
+ /**
100
+ * Presentation policy used while NTable is actually rendering cards.
101
+ *
102
+ * `paged` preserves the existing page controls. `all` renders every supplied
103
+ * row without a footer, in card and table modes alike. `load-more` renders
104
+ * every supplied row and adds a guarded, accessible continuation control.
105
+ * `infinite` renders every supplied row and continues on scroll instead.
106
+ *
107
+ * Applications remain responsible for fetching, accumulating, filtering,
108
+ * sorting, authorization, and privacy. `all` renders exactly the rows it is
109
+ * given and never fetches, so a caller that has not loaded the whole set must
110
+ * not select it.
111
+ */
112
+ type NTableCardPagination = {
113
+ mode?: "paged";
114
+ } | {
115
+ mode: "all";
116
+ } | NTableLoadMorePagination | NTableInfinitePagination;
117
+
118
+ /**
119
+ * The translator shape `NajmUIProvider` accepts.
120
+ *
121
+ * Deliberately structural rather than an import from `najm-i18n`: the kit
122
+ * depends on no `najm-*` package, and this signature is satisfied by every
123
+ * mainstream i18n library. The application keeps its catalog and its own
124
+ * language provider.
125
+ */
126
+ type NajmTranslate = (key: string, params?: Record<string, string | number>) => string;
127
+ declare const DEFAULT_PAGINATION_KEY_PREFIX = "common.pagination";
128
+ /**
129
+ * Projects a translator onto the ten pagination labels.
130
+ *
131
+ * Keys are `<prefix>.<field>`, matching the `NTablePaginationLabels` field
132
+ * names one-for-one, so a catalog is readable next to the type. Interpolation
133
+ * params are named for what they are: `page`, `pageCount`, `selected`, `total`.
134
+ *
135
+ * No result is inspected or second-guessed. A translator that echoes missing
136
+ * keys will render those keys — that is the translator's contract to define,
137
+ * and quietly swapping in English would hide the missing entry rather than
138
+ * surface it. Applications that want the packaged English for a given label
139
+ * should omit the key from the prefix and override it via `tableDefaults`.
140
+ */
141
+ declare function buildPaginationLabels(t: NajmTranslate, prefix?: string): NTablePaginationLabels;
142
+
143
+ export { DEFAULT_PAGINATION_KEY_PREFIX as D, type NTablePaginationVariant as N, type NTablePaginationLabels as a, type NTableCardPagination as b, type NTableInfinitePagination as c, type NTableLoadMorePagination as d, type NajmTranslate as e, buildPaginationLabels as f };