@axzydev/axzy_ui_system 1.4.2 → 1.4.4
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.cjs +322 -211
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +1 -1
- package/dist/index.d.cts +143 -69
- package/dist/index.d.ts +143 -69
- package/dist/index.js +224 -114
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/components/molecules/card/card.tsx +22 -9
- package/src/components/organisms/page-header/page-header.tsx +14 -3
- package/src/components/organisms/sidebar/sidebar.doc.mdx +2 -0
- package/src/components/organisms/sidebar/sidebar.props.ts +30 -2
- package/src/components/organisms/sidebar/sidebar.tsx +77 -26
- package/src/components/organisms/topbar/topbar.props.ts +13 -0
- package/src/components/organisms/topbar/topbar.tsx +35 -9
- package/src/components/templates/layout/layout.props.ts +8 -0
- package/src/components/templates/layout/layout.tsx +111 -54
- package/src/components/theme-provider/themeProvider.doc.mdx +1 -0
- package/src/components/theme-provider/themeProvider.props.ts +6 -0
- package/src/components/theme-provider/themeProvider.tsx +11 -1
- package/src/index.ts +6 -6
- package/src/theme/theme-context.ts +11 -1
- package/src/theme/theme.types.ts +7 -0
package/dist/index.d.cts
CHANGED
|
@@ -3084,14 +3084,35 @@ interface ITSidebarNotification {
|
|
|
3084
3084
|
*/
|
|
3085
3085
|
badgeProps?: ITBadgetProps;
|
|
3086
3086
|
}
|
|
3087
|
+
/**
|
|
3088
|
+
* Brand block pinned at the top of {@link ITSidebarProps}. The logo stays
|
|
3089
|
+
* visible while the rail is collapsed; the text only shows when expanded.
|
|
3090
|
+
*/
|
|
3091
|
+
interface ITSidebarBrand {
|
|
3092
|
+
/** Logo element (e.g. an `<img>` or an SVG mark). Always visible. */
|
|
3093
|
+
logo?: React.ReactNode;
|
|
3094
|
+
/** Wordmark rendered next to the logo. Hidden while the sidebar is collapsed. */
|
|
3095
|
+
text?: string;
|
|
3096
|
+
}
|
|
3087
3097
|
/** Props for the ITSidebar vertical navigation component. */
|
|
3088
3098
|
interface ITSidebarProps {
|
|
3089
3099
|
/** Navigation structure: top-level items with optional sub-items. */
|
|
3090
3100
|
navigationItems: ITNavigationItem[];
|
|
3091
3101
|
/** Whether the sidebar is collapsed to icon-only mode. */
|
|
3092
3102
|
isCollapsed?: boolean;
|
|
3093
|
-
/**
|
|
3103
|
+
/**
|
|
3104
|
+
* Callback that flips `isCollapsed`. `ITLayout` calls it from the top bar's
|
|
3105
|
+
* menu button when `expandOnHover` is `false`; the sidebar itself calls it
|
|
3106
|
+
* when a collapsed parent item is clicked, so its submenu can be shown.
|
|
3107
|
+
*/
|
|
3094
3108
|
onToggleCollapse?: () => void;
|
|
3109
|
+
/**
|
|
3110
|
+
* How the collapsed rail opens. `true`: it expands over the content while
|
|
3111
|
+
* the pointer is on it (no button). `false`: it stays an icon-only rail —
|
|
3112
|
+
* the item name shows in a tooltip on hover — and it only opens through
|
|
3113
|
+
* `onToggleCollapse` (the top bar's menu button in `ITLayout`). @default true
|
|
3114
|
+
*/
|
|
3115
|
+
expandOnHover?: boolean;
|
|
3095
3116
|
/** Force sidebar visible on mobile breakpoints. */
|
|
3096
3117
|
visibleOnMobile?: boolean;
|
|
3097
3118
|
/** Callback when a top-level navigation item is clicked. Receives the item. */
|
|
@@ -3113,6 +3134,13 @@ interface ITSidebarProps {
|
|
|
3113
3134
|
* while collapsed, showing just the icon and the counter.
|
|
3114
3135
|
*/
|
|
3115
3136
|
notification?: ITSidebarNotification;
|
|
3137
|
+
/**
|
|
3138
|
+
* Brand (logo + wordmark) pinned at the very top of the sidebar, in a 64px
|
|
3139
|
+
* row that lines up with the top bar. Unlike {@link ITSidebarProps.header}
|
|
3140
|
+
* the logo stays visible while collapsed. `ITLayout` fills it from
|
|
3141
|
+
* `topBar.logo` / `topBar.logoText` when `sidebarFullHeight` is set.
|
|
3142
|
+
*/
|
|
3143
|
+
brand?: ITSidebarBrand;
|
|
3116
3144
|
}
|
|
3117
3145
|
|
|
3118
3146
|
/**
|
|
@@ -3144,7 +3172,7 @@ interface ITSidebarProps {
|
|
|
3144
3172
|
* />
|
|
3145
3173
|
* ```
|
|
3146
3174
|
*/
|
|
3147
|
-
declare function ITSidebar({ navigationItems, isCollapsed, className, visibleOnMobile, onItemClick, onSubItemClick, subitemConnector, header, notification, }: ITSidebarProps): react_jsx_runtime.JSX.Element;
|
|
3175
|
+
declare function ITSidebar({ navigationItems, isCollapsed, className, visibleOnMobile, onItemClick, onSubItemClick, subitemConnector, header, notification, brand, onToggleCollapse, expandOnHover, }: ITSidebarProps): react_jsx_runtime.JSX.Element;
|
|
3148
3176
|
|
|
3149
3177
|
/** Skeleton shape variant: "text" (line) | "circular" (avatar/icon) | "rectangular" (card/image). */
|
|
3150
3178
|
type SkeletonVariant = "text" | "circular" | "rectangular";
|
|
@@ -3765,6 +3793,19 @@ interface ITTopBarProps {
|
|
|
3765
3793
|
showMobileMenuButton?: boolean;
|
|
3766
3794
|
/** Callback fired when the mobile menu toggle button is clicked. */
|
|
3767
3795
|
onToggleMobileMenu?: () => void;
|
|
3796
|
+
/**
|
|
3797
|
+
* Keeps the menu toggle button visible from the `lg` breakpoint up as well
|
|
3798
|
+
* (it is mobile-only by default). `ITLayout` turns it on when the sidebar
|
|
3799
|
+
* collapses by button instead of hover (`sidebar.expandOnHover === false`). @default false
|
|
3800
|
+
*/
|
|
3801
|
+
showDesktopMenuButton?: boolean;
|
|
3802
|
+
/**
|
|
3803
|
+
* Hides the logo and `logoText` from the `lg` breakpoint up and left-aligns
|
|
3804
|
+
* `centerContent`. Use it when the brand already lives somewhere else (e.g.
|
|
3805
|
+
* at the top of a full-height sidebar); `ITLayout` sets it for you when
|
|
3806
|
+
* `sidebarFullHeight` is on. Below `lg` the logo is still shown. @default false
|
|
3807
|
+
*/
|
|
3808
|
+
hideBrandOnDesktop?: boolean;
|
|
3768
3809
|
}
|
|
3769
3810
|
|
|
3770
3811
|
interface ITLayoutProps {
|
|
@@ -3778,6 +3819,14 @@ interface ITLayoutProps {
|
|
|
3778
3819
|
className?: string;
|
|
3779
3820
|
/** Additional CSS classes for the content container */
|
|
3780
3821
|
contentClassName?: string;
|
|
3822
|
+
/**
|
|
3823
|
+
* App-shell arrangement. `false` (default): the top bar spans the full width
|
|
3824
|
+
* and the sidebar sits below it. `true`: the sidebar spans the full viewport
|
|
3825
|
+
* height and shows the brand (`topBar.logo` + `topBar.logoText`) at its top,
|
|
3826
|
+
* while the top bar covers only the content column and drops the logo from
|
|
3827
|
+
* the `lg` breakpoint up. Mobile is unchanged. @default false
|
|
3828
|
+
*/
|
|
3829
|
+
sidebarFullHeight?: boolean;
|
|
3781
3830
|
}
|
|
3782
3831
|
|
|
3783
3832
|
/**
|
|
@@ -3802,8 +3851,18 @@ interface ITLayoutProps {
|
|
|
3802
3851
|
* >
|
|
3803
3852
|
* <SettingsPage />
|
|
3804
3853
|
* </ITLayout>
|
|
3854
|
+
*
|
|
3855
|
+
* @example
|
|
3856
|
+
* // Full-height sidebar with the brand on top; the top bar covers only the content.
|
|
3857
|
+
* <ITLayout
|
|
3858
|
+
* sidebarFullHeight
|
|
3859
|
+
* topBar={{ logo: <Logo />, logoText: "Acme", centerContent: <SearchBox /> }}
|
|
3860
|
+
* sidebar={{ navigationItems, isCollapsed: false }}
|
|
3861
|
+
* >
|
|
3862
|
+
* <Dashboard />
|
|
3863
|
+
* </ITLayout>
|
|
3805
3864
|
*/
|
|
3806
|
-
declare function ITLayout({ topBar, sidebar, children, className, contentClassName, }: ITLayoutProps): react_jsx_runtime.JSX.Element;
|
|
3865
|
+
declare function ITLayout({ topBar, sidebar, children, className, contentClassName, sidebarFullHeight, }: ITLayoutProps): react_jsx_runtime.JSX.Element;
|
|
3807
3866
|
|
|
3808
3867
|
type LoaderSize = "sm" | "md" | "lg" | "xl";
|
|
3809
3868
|
type LoaderVariant = "spinner" | "dots" | "bar" | "pulse";
|
|
@@ -3896,63 +3955,6 @@ interface ITStepperProps {
|
|
|
3896
3955
|
*/
|
|
3897
3956
|
declare function ITStepper({ steps, currentStep, onFinish, onStepChange, allowClickToJump, useIcons, disableNext, containerClassName, stepClassName, scrollableContent, maxContentHeight, color, }: ITStepperProps): react_jsx_runtime.JSX.Element;
|
|
3898
3957
|
|
|
3899
|
-
interface ITThemePalette$1 {
|
|
3900
|
-
/** Main brand accent color (hex). Drives primary buttons, active nav items, focus rings, links, and the `--color-primary` CSS variable. @default "#06b6d4" */
|
|
3901
|
-
primary: string;
|
|
3902
|
-
/** Secondary/neutral accent color (hex). Used for less prominent actions and secondary badges/buttons. @default "#6b7280" */
|
|
3903
|
-
secondary: string;
|
|
3904
|
-
/** Tertiary accent color (hex), used for a third level of emphasis (e.g. alternate badges, chart accents). @default "#8b5cf6" */
|
|
3905
|
-
ternary: string;
|
|
3906
|
-
/** Semantic color for destructive/error states (hex): delete buttons, error badges, invalid form fields. @default "#ef4444" */
|
|
3907
|
-
danger: string;
|
|
3908
|
-
/** Semantic color for success/confirmation states (hex): success badges, completed steps, positive stats. @default "#22c55e" */
|
|
3909
|
-
success: string;
|
|
3910
|
-
/** Semantic color for informational states (hex): info banners/badges, neutral notices. @default "#3b82f6" */
|
|
3911
|
-
info: string;
|
|
3912
|
-
/** Semantic color for alert/caution states (hex), distinct from `warning`. Used by components that need a stronger visual cue than warning. @default "#f97316" */
|
|
3913
|
-
alert: string;
|
|
3914
|
-
/** Semantic color for warning states (hex): warning badges/banners, pending states. @default "#eab308" */
|
|
3915
|
-
warning: string;
|
|
3916
|
-
/** Colors for the app shell's sidebar and top navbar (ITSidebar, ITNavbar, ITTopbar, ITLayout). */
|
|
3917
|
-
layout: {
|
|
3918
|
-
/** Background color of the sidebar (hex). @default "#ffffff" */
|
|
3919
|
-
sidebarBg: string;
|
|
3920
|
-
/** Text/icon color used on the sidebar. @default "#334155" */
|
|
3921
|
-
sidebarText: string;
|
|
3922
|
-
/** Background color of the top navigation bar (hex). @default "#ffffff" */
|
|
3923
|
-
navbarBg: string;
|
|
3924
|
-
/** Text/icon color used on the top navigation bar. @default "#1e293b" */
|
|
3925
|
-
navbarText: string;
|
|
3926
|
-
};
|
|
3927
|
-
/** Colors for ITTable/ITDataTable/ITSearchTable header and rows. */
|
|
3928
|
-
table: {
|
|
3929
|
-
/** Background color of the table header row (hex). @default "#f8fafc" */
|
|
3930
|
-
headerBg: string;
|
|
3931
|
-
/** Text color of the table header row. @default "#334155" */
|
|
3932
|
-
headerText: string;
|
|
3933
|
-
/** Background color of table body rows (hex). @default "#ffffff" */
|
|
3934
|
-
rowBg: string;
|
|
3935
|
-
/** Text color of table body rows. @default "#1e293b" */
|
|
3936
|
-
rowText: string;
|
|
3937
|
-
/** Background color applied to a table body row while the pointer is over it (hex). @default "#f1f5f9" */
|
|
3938
|
-
rowHover: string;
|
|
3939
|
-
};
|
|
3940
|
-
}
|
|
3941
|
-
interface ITThemeProviderProps {
|
|
3942
|
-
/** Partial palette overrides merged (deep merge) with the default theme. Supports primary, secondary, ternary, danger, success, info, alert, warning, layout, and table colors. Persisted to `localStorage` under `"it-theme-palette"` once the user edits it via the FAB/drawer. */
|
|
3943
|
-
theme?: Partial<ITThemePalette$1>;
|
|
3944
|
-
/** The subtree that receives the theme context and CSS variables. Must wrap your entire app (or the portion that uses AXZY UI System components) once, near the root. */
|
|
3945
|
-
children: React.ReactNode;
|
|
3946
|
-
/** Whether to render the floating action button (bottom-right) that opens the live theme-designer drawer, letting end users tweak colors and persist their choice. Set to `false` to hide the FAB in production and only theme via the `theme` prop. @default true */
|
|
3947
|
-
showFab?: boolean;
|
|
3948
|
-
/** Global density/compactness factor. Values below 1 shrink the UI's base sizes, above 1 grow them (e.g. `0.8` = 80%: smaller fonts, paddings, gaps, spacing). Applied by scaling the root font-size so every `rem`-based token in Tailwind components compacts together, keeping the layout fluid (no empty margins, unlike CSS zoom). Clamped to `0.5`–`1.5`. @default 1 */
|
|
3949
|
-
density?: number;
|
|
3950
|
-
/** Global border radius in pixels applied to the entire rounding scale (`rounded-sm/md/lg/xl/2xl/…`). `radius={2}` ⇒ 2px corners (near-square), `8` ⇒ 8px, `0` ⇒ completely square. Every `rounded-*` utility resolves to a `--radius-*` variable, so this reshapes inputs, buttons, cards, dialogs and tables system-wide with no per-component changes. @default 0 (no override, Tailwind defaults) */
|
|
3951
|
-
radius?: number;
|
|
3952
|
-
/** Global shadow strength level. `0` ⇒ no shadows, `1` ⇒ subtle, `2` ⇒ default current look, `3` ⇒ pronounced. Shadows are injected as `--shadow-*`/`.shadow-*` overrides so cards, dropdowns and dialogs follow the level. @default 2 (keeps current default when omitted) */
|
|
3953
|
-
shadow?: number;
|
|
3954
|
-
}
|
|
3955
|
-
|
|
3956
3958
|
type ColorScale = {
|
|
3957
3959
|
50: string;
|
|
3958
3960
|
100: string;
|
|
@@ -3966,7 +3968,13 @@ type ColorScale = {
|
|
|
3966
3968
|
900: string;
|
|
3967
3969
|
950?: string;
|
|
3968
3970
|
};
|
|
3969
|
-
|
|
3971
|
+
/**
|
|
3972
|
+
* Visual language of the whole system.
|
|
3973
|
+
* - `"soft"`: soft depth — floating cards, tinted shadows, glass sidebar and top bar (default).
|
|
3974
|
+
* - `"flat"`: flat surfaces — hairline borders instead of shadows, plain sidebar and top bar, compact page headers.
|
|
3975
|
+
*/
|
|
3976
|
+
type ITThemeAppearance = "soft" | "flat";
|
|
3977
|
+
interface ITThemePalette$1 {
|
|
3970
3978
|
/** Main brand accent color (hex). Drives primary buttons, active nav items, focus rings, links, and the `--color-primary` CSS variable. @default "#06b6d4" */
|
|
3971
3979
|
primary: string;
|
|
3972
3980
|
/** Secondary/neutral accent color (hex). Used for less prominent actions and secondary badges/buttons. @default "#6b7280" */
|
|
@@ -4090,21 +4098,82 @@ interface ITThemeConfig {
|
|
|
4090
4098
|
};
|
|
4091
4099
|
}
|
|
4092
4100
|
|
|
4101
|
+
interface ITThemePalette {
|
|
4102
|
+
/** Main brand accent color (hex). Drives primary buttons, active nav items, focus rings, links, and the `--color-primary` CSS variable. @default "#06b6d4" */
|
|
4103
|
+
primary: string;
|
|
4104
|
+
/** Secondary/neutral accent color (hex). Used for less prominent actions and secondary badges/buttons. @default "#6b7280" */
|
|
4105
|
+
secondary: string;
|
|
4106
|
+
/** Tertiary accent color (hex), used for a third level of emphasis (e.g. alternate badges, chart accents). @default "#8b5cf6" */
|
|
4107
|
+
ternary: string;
|
|
4108
|
+
/** Semantic color for destructive/error states (hex): delete buttons, error badges, invalid form fields. @default "#ef4444" */
|
|
4109
|
+
danger: string;
|
|
4110
|
+
/** Semantic color for success/confirmation states (hex): success badges, completed steps, positive stats. @default "#22c55e" */
|
|
4111
|
+
success: string;
|
|
4112
|
+
/** Semantic color for informational states (hex): info banners/badges, neutral notices. @default "#3b82f6" */
|
|
4113
|
+
info: string;
|
|
4114
|
+
/** Semantic color for alert/caution states (hex), distinct from `warning`. Used by components that need a stronger visual cue than warning. @default "#f97316" */
|
|
4115
|
+
alert: string;
|
|
4116
|
+
/** Semantic color for warning states (hex): warning badges/banners, pending states. @default "#eab308" */
|
|
4117
|
+
warning: string;
|
|
4118
|
+
/** Colors for the app shell's sidebar and top navbar (ITSidebar, ITNavbar, ITTopbar, ITLayout). */
|
|
4119
|
+
layout: {
|
|
4120
|
+
/** Background color of the sidebar (hex). @default "#ffffff" */
|
|
4121
|
+
sidebarBg: string;
|
|
4122
|
+
/** Text/icon color used on the sidebar. @default "#334155" */
|
|
4123
|
+
sidebarText: string;
|
|
4124
|
+
/** Background color of the top navigation bar (hex). @default "#ffffff" */
|
|
4125
|
+
navbarBg: string;
|
|
4126
|
+
/** Text/icon color used on the top navigation bar. @default "#1e293b" */
|
|
4127
|
+
navbarText: string;
|
|
4128
|
+
};
|
|
4129
|
+
/** Colors for ITTable/ITDataTable/ITSearchTable header and rows. */
|
|
4130
|
+
table: {
|
|
4131
|
+
/** Background color of the table header row (hex). @default "#f8fafc" */
|
|
4132
|
+
headerBg: string;
|
|
4133
|
+
/** Text color of the table header row. @default "#334155" */
|
|
4134
|
+
headerText: string;
|
|
4135
|
+
/** Background color of table body rows (hex). @default "#ffffff" */
|
|
4136
|
+
rowBg: string;
|
|
4137
|
+
/** Text color of table body rows. @default "#1e293b" */
|
|
4138
|
+
rowText: string;
|
|
4139
|
+
/** Background color applied to a table body row while the pointer is over it (hex). @default "#f1f5f9" */
|
|
4140
|
+
rowHover: string;
|
|
4141
|
+
};
|
|
4142
|
+
}
|
|
4143
|
+
interface ITThemeProviderProps {
|
|
4144
|
+
/** Partial palette overrides merged (deep merge) with the default theme. Supports primary, secondary, ternary, danger, success, info, alert, warning, layout, and table colors. Persisted to `localStorage` under `"it-theme-palette"` once the user edits it via the FAB/drawer. */
|
|
4145
|
+
theme?: Partial<ITThemePalette>;
|
|
4146
|
+
/** The subtree that receives the theme context and CSS variables. Must wrap your entire app (or the portion that uses AXZY UI System components) once, near the root. */
|
|
4147
|
+
children: React.ReactNode;
|
|
4148
|
+
/** Whether to render the floating action button (bottom-right) that opens the live theme-designer drawer, letting end users tweak colors and persist their choice. Set to `false` to hide the FAB in production and only theme via the `theme` prop. @default true */
|
|
4149
|
+
showFab?: boolean;
|
|
4150
|
+
/** Global density/compactness factor. Values below 1 shrink the UI's base sizes, above 1 grow them (e.g. `0.8` = 80%: smaller fonts, paddings, gaps, spacing). Applied by scaling the root font-size so every `rem`-based token in Tailwind components compacts together, keeping the layout fluid (no empty margins, unlike CSS zoom). Clamped to `0.5`–`1.5`. @default 1 */
|
|
4151
|
+
density?: number;
|
|
4152
|
+
/** Global border radius in pixels applied to the entire rounding scale (`rounded-sm/md/lg/xl/2xl/…`). `radius={2}` ⇒ 2px corners (near-square), `8` ⇒ 8px, `0` ⇒ completely square. Every `rounded-*` utility resolves to a `--radius-*` variable, so this reshapes inputs, buttons, cards, dialogs and tables system-wide with no per-component changes. @default 0 (no override, Tailwind defaults) */
|
|
4153
|
+
radius?: number;
|
|
4154
|
+
/** Global shadow strength level. `0` ⇒ no shadows, `1` ⇒ subtle, `2` ⇒ default current look, `3` ⇒ pronounced. Shadows are injected as `--shadow-*`/`.shadow-*` overrides so cards, dropdowns and dialogs follow the level. @default 2 (keeps current default when omitted) */
|
|
4155
|
+
shadow?: number;
|
|
4156
|
+
/** Visual language of the whole system. `"soft"` keeps the current look (floating cards, tinted shadows, glass sidebar/top bar). `"flat"` switches the app shell and surfaces to flat ones: hairline borders instead of shadows on `ITCard`, a plain `ITSidebar` (no glow, no accent bar, narrower), a plain `ITTopBar` (no shadow, initials avatar) and a compact `ITPageHeader` without the icon tile. It also sets `data-it-appearance` on `<html>` so app CSS can follow it. Combine it with `shadow` and `radius` to finish the look. @default "soft" */
|
|
4157
|
+
appearance?: ITThemeAppearance;
|
|
4158
|
+
}
|
|
4159
|
+
|
|
4093
4160
|
/**
|
|
4094
4161
|
* Contexto de theming compartido por ITThemeProvider y componentes que lo
|
|
4095
4162
|
* consumen (p.ej. ITFormHeader). Vive en @/theme para que ninguna capa
|
|
4096
4163
|
* atómica dependa de otra a través del provider.
|
|
4097
4164
|
*/
|
|
4098
4165
|
interface ITThemeContextType {
|
|
4099
|
-
palette: ITThemePalette;
|
|
4100
|
-
colors: ITThemePalette;
|
|
4101
|
-
setPalette: (newPalette: ITThemePalette) => void;
|
|
4166
|
+
palette: ITThemePalette$1;
|
|
4167
|
+
colors: ITThemePalette$1;
|
|
4168
|
+
setPalette: (newPalette: ITThemePalette$1) => void;
|
|
4102
4169
|
updateColor: (key: string, value: string) => void;
|
|
4103
4170
|
resetTheme: () => void;
|
|
4104
|
-
applyPreset: (colors: ITThemePalette) => void;
|
|
4171
|
+
applyPreset: (colors: ITThemePalette$1) => void;
|
|
4105
4172
|
resolvedTheme: "light" | "dark";
|
|
4106
4173
|
darkModeMode: "light" | "dark" | "system";
|
|
4107
4174
|
setDarkModeMode: (mode: "light" | "dark" | "system") => void;
|
|
4175
|
+
/** Visual language chosen on the provider (`"soft"` unless `appearance` says otherwise). */
|
|
4176
|
+
appearance: ITThemeAppearance;
|
|
4108
4177
|
}
|
|
4109
4178
|
declare const useITTheme: () => ITThemeContextType;
|
|
4110
4179
|
/**
|
|
@@ -4112,6 +4181,11 @@ declare const useITTheme: () => ITThemeContextType;
|
|
|
4112
4181
|
* si se usa fuera de ITThemeProvider (no lanza error).
|
|
4113
4182
|
*/
|
|
4114
4183
|
declare const useITThemeSafe: () => ITThemeContextType | undefined;
|
|
4184
|
+
/**
|
|
4185
|
+
* `true` cuando el provider pide el lenguaje visual plano (`appearance="flat"`).
|
|
4186
|
+
* Fuera de un ITThemeProvider devuelve `false` (aspecto por defecto).
|
|
4187
|
+
*/
|
|
4188
|
+
declare const useITFlatAppearance: () => boolean;
|
|
4115
4189
|
|
|
4116
4190
|
/**
|
|
4117
4191
|
* Root theme context provider that injects CSS custom properties for all components,
|
|
@@ -4127,7 +4201,7 @@ declare const useITThemeSafe: () => ITThemeContextType | undefined;
|
|
|
4127
4201
|
* <Dashboard />
|
|
4128
4202
|
* </ITThemeProvider>
|
|
4129
4203
|
*/
|
|
4130
|
-
declare function ITThemeProvider({ children, theme, showFab, density, radius, shadow, }: ITThemeProviderProps): react_jsx_runtime.JSX.Element;
|
|
4204
|
+
declare function ITThemeProvider({ children, theme, showFab, density, radius, shadow, appearance, }: ITThemeProviderProps): react_jsx_runtime.JSX.Element;
|
|
4131
4205
|
|
|
4132
4206
|
interface ITTimePickerProps {
|
|
4133
4207
|
/** Form field name attribute and key for the change event. */
|
|
@@ -4196,10 +4270,10 @@ declare const isLightColor: (hex: string) => boolean;
|
|
|
4196
4270
|
/**
|
|
4197
4271
|
* Traduce un valor de color de CSS (hexadecimal o variable var(--...)) a hexadecimal absoluto.
|
|
4198
4272
|
*/
|
|
4199
|
-
declare const resolveCssColor: (colorStr: string, palette?: ITThemePalette
|
|
4273
|
+
declare const resolveCssColor: (colorStr: string, palette?: ITThemePalette, isDarkMode?: boolean) => string;
|
|
4200
4274
|
/**
|
|
4201
4275
|
* Obtiene la clase de color de texto óptima (blanca o gris oscuro) basado en el fondo.
|
|
4202
4276
|
*/
|
|
4203
|
-
declare const getContrastTextColor: (bgColor: string, palette?: ITThemePalette
|
|
4277
|
+
declare const getContrastTextColor: (bgColor: string, palette?: ITThemePalette, isDarkMode?: boolean) => "text-white" | "text-slate-800";
|
|
4204
4278
|
|
|
4205
|
-
export { type Column, type ColumnFilterMode, type ColumnFilterValue, type ColumnFilters, type FieldConfig, type FieldConfigV2, FileTypeEnum, ITAccordion, type ITAccordionItem, type ITAccordionProps, ITAlert, type ITAlertProps, ITAvatar, type ITAvatarProps, ITBadget, type ITBadgetProps, type ITBreadcrumbItem, ITBreadcrumbs, type ITBreadcrumbsProps, ITButton, type ITButtonProps, ITCalendar, type ITCalendarProps, ITCard, type ITCardProps, ITCheckbox, type ITCheckboxProps, ITChip, ITChipInput, type ITChipInputProps, type ITChipProps, ITConfirmDialog, type ITConfirmDialogProps, ITDataTable, type ITDataTableFetchParams, type ITDataTableProps, type ITDataTableResponse, ITDatePicker, type ITDatePickerProps, ITDialog, type ITDialogProps, ITDivider, type ITDividerProps, ITDrawer, type ITDrawerProps, ITDropdownMenu, type ITDropdownMenuItem, type ITDropdownMenuProps, ITDropfile, ITEmptyState, type ITEmptyStateProps, ITField, type ITFieldProps, ITFlex, type ITFlexProps, ITFormBuilder, type ITFormBuilderProps, ITFormHeader, type ITFormHeaderProps, ITGrid, type ITGridProps, ITImage, type ITImageProps, ITInput, ITInputNumber, type ITInputNumberProps, type ITInputProps, ITLayout, type ITLayoutProps, ITLoader, type LoaderProps as ITLoaderProps, ITMaskedInput, type ITMaskedInputProps, ITMultiSelect, type ITMultiSelectOption, type ITMultiSelectProps, ITNavbar, type ITNavbarProps, type ITNavigationItem, type ITNavigationSubItem, type ITNavigationSubItemEntry, type ITNavigationSubItemGroup, ITPage, ITPageHeader, type ITPageHeaderProps, type ITPageProps, ITPagination, type ITPaginationProps, ITPopover, type ITPopoverProps, ITProgress, type ITProgressProps, ITRadioGroup, type ITRadioGroupProps, type ITRadioOption, ITSearchSelect, type ITSearchSelectProps, ITSearchTable, type ITSearchTableProps, ITSegmentedControl, type ITSegmentedControlProps, ITSelect, type ITSelectProps, ITSidebar, type ITSidebarNotification, type ITSidebarProps, ITSkeleton, type ITSkeletonProps, ITSlideToggle, type ITSlideToggleProps, ITSlider, type ITSliderProps, ITStack, type ITStackProps, ITStatCard, type ITStatCardProps, ITStepper, type ITStepperProps, type ITTabItem, ITTable, type ITTableProps, ITTabs, type ITTabsProps, ITText, type ITTextProps, ITTextarea, type ITTextareaProps, type
|
|
4279
|
+
export { type Column, type ColumnFilterMode, type ColumnFilterValue, type ColumnFilters, type FieldConfig, type FieldConfigV2, FileTypeEnum, ITAccordion, type ITAccordionItem, type ITAccordionProps, ITAlert, type ITAlertProps, ITAvatar, type ITAvatarProps, ITBadget, type ITBadgetProps, type ITBreadcrumbItem, ITBreadcrumbs, type ITBreadcrumbsProps, ITButton, type ITButtonProps, ITCalendar, type ITCalendarProps, ITCard, type ITCardProps, ITCheckbox, type ITCheckboxProps, ITChip, ITChipInput, type ITChipInputProps, type ITChipProps, ITConfirmDialog, type ITConfirmDialogProps, ITDataTable, type ITDataTableFetchParams, type ITDataTableProps, type ITDataTableResponse, ITDatePicker, type ITDatePickerProps, ITDialog, type ITDialogProps, ITDivider, type ITDividerProps, ITDrawer, type ITDrawerProps, ITDropdownMenu, type ITDropdownMenuItem, type ITDropdownMenuProps, ITDropfile, ITEmptyState, type ITEmptyStateProps, ITField, type ITFieldProps, ITFlex, type ITFlexProps, ITFormBuilder, type ITFormBuilderProps, ITFormHeader, type ITFormHeaderProps, ITGrid, type ITGridProps, ITImage, type ITImageProps, ITInput, ITInputNumber, type ITInputNumberProps, type ITInputProps, ITLayout, type ITLayoutProps, ITLoader, type LoaderProps as ITLoaderProps, ITMaskedInput, type ITMaskedInputProps, ITMultiSelect, type ITMultiSelectOption, type ITMultiSelectProps, ITNavbar, type ITNavbarProps, type ITNavigationItem, type ITNavigationSubItem, type ITNavigationSubItemEntry, type ITNavigationSubItemGroup, ITPage, ITPageHeader, type ITPageHeaderProps, type ITPageProps, ITPagination, type ITPaginationProps, ITPopover, type ITPopoverProps, ITProgress, type ITProgressProps, ITRadioGroup, type ITRadioGroupProps, type ITRadioOption, ITSearchSelect, type ITSearchSelectProps, ITSearchTable, type ITSearchTableProps, ITSegmentedControl, type ITSegmentedControlProps, ITSelect, type ITSelectProps, ITSidebar, type ITSidebarBrand, type ITSidebarNotification, type ITSidebarProps, ITSkeleton, type ITSkeletonProps, ITSlideToggle, type ITSlideToggleProps, ITSlider, type ITSliderProps, ITStack, type ITStackProps, ITStatCard, type ITStatCardProps, ITStepper, type ITStepperProps, type ITTabItem, ITTable, type ITTableProps, ITTabs, type ITTabsProps, ITText, type ITTextProps, ITTextarea, type ITTextareaProps, type ITThemeAppearance, type ITThemeConfig, type ITThemePalette, ITThemeProvider, type ITThemeProviderProps, ITTimePicker, type ITTimePickerProps, ITToast, type ITToastProps, ITTripleFilter, type ITTripleFilterOption, type ITTripleFilterProps, ITWysiwyg, type ITWysiwygProps, type TableDensity, UploadStatus, type UseTableStateOptions, type UseTableStateResult, createValidationSchema, getContrastTextColor, isLightColor, resolveCssColor, useClickOutside, useDebouncedSearch, useEditableRow, useFloatingPanel, useITFlatAppearance, useITTheme, useITThemeSafe, useTableState };
|
package/dist/index.d.ts
CHANGED
|
@@ -3084,14 +3084,35 @@ interface ITSidebarNotification {
|
|
|
3084
3084
|
*/
|
|
3085
3085
|
badgeProps?: ITBadgetProps;
|
|
3086
3086
|
}
|
|
3087
|
+
/**
|
|
3088
|
+
* Brand block pinned at the top of {@link ITSidebarProps}. The logo stays
|
|
3089
|
+
* visible while the rail is collapsed; the text only shows when expanded.
|
|
3090
|
+
*/
|
|
3091
|
+
interface ITSidebarBrand {
|
|
3092
|
+
/** Logo element (e.g. an `<img>` or an SVG mark). Always visible. */
|
|
3093
|
+
logo?: React.ReactNode;
|
|
3094
|
+
/** Wordmark rendered next to the logo. Hidden while the sidebar is collapsed. */
|
|
3095
|
+
text?: string;
|
|
3096
|
+
}
|
|
3087
3097
|
/** Props for the ITSidebar vertical navigation component. */
|
|
3088
3098
|
interface ITSidebarProps {
|
|
3089
3099
|
/** Navigation structure: top-level items with optional sub-items. */
|
|
3090
3100
|
navigationItems: ITNavigationItem[];
|
|
3091
3101
|
/** Whether the sidebar is collapsed to icon-only mode. */
|
|
3092
3102
|
isCollapsed?: boolean;
|
|
3093
|
-
/**
|
|
3103
|
+
/**
|
|
3104
|
+
* Callback that flips `isCollapsed`. `ITLayout` calls it from the top bar's
|
|
3105
|
+
* menu button when `expandOnHover` is `false`; the sidebar itself calls it
|
|
3106
|
+
* when a collapsed parent item is clicked, so its submenu can be shown.
|
|
3107
|
+
*/
|
|
3094
3108
|
onToggleCollapse?: () => void;
|
|
3109
|
+
/**
|
|
3110
|
+
* How the collapsed rail opens. `true`: it expands over the content while
|
|
3111
|
+
* the pointer is on it (no button). `false`: it stays an icon-only rail —
|
|
3112
|
+
* the item name shows in a tooltip on hover — and it only opens through
|
|
3113
|
+
* `onToggleCollapse` (the top bar's menu button in `ITLayout`). @default true
|
|
3114
|
+
*/
|
|
3115
|
+
expandOnHover?: boolean;
|
|
3095
3116
|
/** Force sidebar visible on mobile breakpoints. */
|
|
3096
3117
|
visibleOnMobile?: boolean;
|
|
3097
3118
|
/** Callback when a top-level navigation item is clicked. Receives the item. */
|
|
@@ -3113,6 +3134,13 @@ interface ITSidebarProps {
|
|
|
3113
3134
|
* while collapsed, showing just the icon and the counter.
|
|
3114
3135
|
*/
|
|
3115
3136
|
notification?: ITSidebarNotification;
|
|
3137
|
+
/**
|
|
3138
|
+
* Brand (logo + wordmark) pinned at the very top of the sidebar, in a 64px
|
|
3139
|
+
* row that lines up with the top bar. Unlike {@link ITSidebarProps.header}
|
|
3140
|
+
* the logo stays visible while collapsed. `ITLayout` fills it from
|
|
3141
|
+
* `topBar.logo` / `topBar.logoText` when `sidebarFullHeight` is set.
|
|
3142
|
+
*/
|
|
3143
|
+
brand?: ITSidebarBrand;
|
|
3116
3144
|
}
|
|
3117
3145
|
|
|
3118
3146
|
/**
|
|
@@ -3144,7 +3172,7 @@ interface ITSidebarProps {
|
|
|
3144
3172
|
* />
|
|
3145
3173
|
* ```
|
|
3146
3174
|
*/
|
|
3147
|
-
declare function ITSidebar({ navigationItems, isCollapsed, className, visibleOnMobile, onItemClick, onSubItemClick, subitemConnector, header, notification, }: ITSidebarProps): react_jsx_runtime.JSX.Element;
|
|
3175
|
+
declare function ITSidebar({ navigationItems, isCollapsed, className, visibleOnMobile, onItemClick, onSubItemClick, subitemConnector, header, notification, brand, onToggleCollapse, expandOnHover, }: ITSidebarProps): react_jsx_runtime.JSX.Element;
|
|
3148
3176
|
|
|
3149
3177
|
/** Skeleton shape variant: "text" (line) | "circular" (avatar/icon) | "rectangular" (card/image). */
|
|
3150
3178
|
type SkeletonVariant = "text" | "circular" | "rectangular";
|
|
@@ -3765,6 +3793,19 @@ interface ITTopBarProps {
|
|
|
3765
3793
|
showMobileMenuButton?: boolean;
|
|
3766
3794
|
/** Callback fired when the mobile menu toggle button is clicked. */
|
|
3767
3795
|
onToggleMobileMenu?: () => void;
|
|
3796
|
+
/**
|
|
3797
|
+
* Keeps the menu toggle button visible from the `lg` breakpoint up as well
|
|
3798
|
+
* (it is mobile-only by default). `ITLayout` turns it on when the sidebar
|
|
3799
|
+
* collapses by button instead of hover (`sidebar.expandOnHover === false`). @default false
|
|
3800
|
+
*/
|
|
3801
|
+
showDesktopMenuButton?: boolean;
|
|
3802
|
+
/**
|
|
3803
|
+
* Hides the logo and `logoText` from the `lg` breakpoint up and left-aligns
|
|
3804
|
+
* `centerContent`. Use it when the brand already lives somewhere else (e.g.
|
|
3805
|
+
* at the top of a full-height sidebar); `ITLayout` sets it for you when
|
|
3806
|
+
* `sidebarFullHeight` is on. Below `lg` the logo is still shown. @default false
|
|
3807
|
+
*/
|
|
3808
|
+
hideBrandOnDesktop?: boolean;
|
|
3768
3809
|
}
|
|
3769
3810
|
|
|
3770
3811
|
interface ITLayoutProps {
|
|
@@ -3778,6 +3819,14 @@ interface ITLayoutProps {
|
|
|
3778
3819
|
className?: string;
|
|
3779
3820
|
/** Additional CSS classes for the content container */
|
|
3780
3821
|
contentClassName?: string;
|
|
3822
|
+
/**
|
|
3823
|
+
* App-shell arrangement. `false` (default): the top bar spans the full width
|
|
3824
|
+
* and the sidebar sits below it. `true`: the sidebar spans the full viewport
|
|
3825
|
+
* height and shows the brand (`topBar.logo` + `topBar.logoText`) at its top,
|
|
3826
|
+
* while the top bar covers only the content column and drops the logo from
|
|
3827
|
+
* the `lg` breakpoint up. Mobile is unchanged. @default false
|
|
3828
|
+
*/
|
|
3829
|
+
sidebarFullHeight?: boolean;
|
|
3781
3830
|
}
|
|
3782
3831
|
|
|
3783
3832
|
/**
|
|
@@ -3802,8 +3851,18 @@ interface ITLayoutProps {
|
|
|
3802
3851
|
* >
|
|
3803
3852
|
* <SettingsPage />
|
|
3804
3853
|
* </ITLayout>
|
|
3854
|
+
*
|
|
3855
|
+
* @example
|
|
3856
|
+
* // Full-height sidebar with the brand on top; the top bar covers only the content.
|
|
3857
|
+
* <ITLayout
|
|
3858
|
+
* sidebarFullHeight
|
|
3859
|
+
* topBar={{ logo: <Logo />, logoText: "Acme", centerContent: <SearchBox /> }}
|
|
3860
|
+
* sidebar={{ navigationItems, isCollapsed: false }}
|
|
3861
|
+
* >
|
|
3862
|
+
* <Dashboard />
|
|
3863
|
+
* </ITLayout>
|
|
3805
3864
|
*/
|
|
3806
|
-
declare function ITLayout({ topBar, sidebar, children, className, contentClassName, }: ITLayoutProps): react_jsx_runtime.JSX.Element;
|
|
3865
|
+
declare function ITLayout({ topBar, sidebar, children, className, contentClassName, sidebarFullHeight, }: ITLayoutProps): react_jsx_runtime.JSX.Element;
|
|
3807
3866
|
|
|
3808
3867
|
type LoaderSize = "sm" | "md" | "lg" | "xl";
|
|
3809
3868
|
type LoaderVariant = "spinner" | "dots" | "bar" | "pulse";
|
|
@@ -3896,63 +3955,6 @@ interface ITStepperProps {
|
|
|
3896
3955
|
*/
|
|
3897
3956
|
declare function ITStepper({ steps, currentStep, onFinish, onStepChange, allowClickToJump, useIcons, disableNext, containerClassName, stepClassName, scrollableContent, maxContentHeight, color, }: ITStepperProps): react_jsx_runtime.JSX.Element;
|
|
3898
3957
|
|
|
3899
|
-
interface ITThemePalette$1 {
|
|
3900
|
-
/** Main brand accent color (hex). Drives primary buttons, active nav items, focus rings, links, and the `--color-primary` CSS variable. @default "#06b6d4" */
|
|
3901
|
-
primary: string;
|
|
3902
|
-
/** Secondary/neutral accent color (hex). Used for less prominent actions and secondary badges/buttons. @default "#6b7280" */
|
|
3903
|
-
secondary: string;
|
|
3904
|
-
/** Tertiary accent color (hex), used for a third level of emphasis (e.g. alternate badges, chart accents). @default "#8b5cf6" */
|
|
3905
|
-
ternary: string;
|
|
3906
|
-
/** Semantic color for destructive/error states (hex): delete buttons, error badges, invalid form fields. @default "#ef4444" */
|
|
3907
|
-
danger: string;
|
|
3908
|
-
/** Semantic color for success/confirmation states (hex): success badges, completed steps, positive stats. @default "#22c55e" */
|
|
3909
|
-
success: string;
|
|
3910
|
-
/** Semantic color for informational states (hex): info banners/badges, neutral notices. @default "#3b82f6" */
|
|
3911
|
-
info: string;
|
|
3912
|
-
/** Semantic color for alert/caution states (hex), distinct from `warning`. Used by components that need a stronger visual cue than warning. @default "#f97316" */
|
|
3913
|
-
alert: string;
|
|
3914
|
-
/** Semantic color for warning states (hex): warning badges/banners, pending states. @default "#eab308" */
|
|
3915
|
-
warning: string;
|
|
3916
|
-
/** Colors for the app shell's sidebar and top navbar (ITSidebar, ITNavbar, ITTopbar, ITLayout). */
|
|
3917
|
-
layout: {
|
|
3918
|
-
/** Background color of the sidebar (hex). @default "#ffffff" */
|
|
3919
|
-
sidebarBg: string;
|
|
3920
|
-
/** Text/icon color used on the sidebar. @default "#334155" */
|
|
3921
|
-
sidebarText: string;
|
|
3922
|
-
/** Background color of the top navigation bar (hex). @default "#ffffff" */
|
|
3923
|
-
navbarBg: string;
|
|
3924
|
-
/** Text/icon color used on the top navigation bar. @default "#1e293b" */
|
|
3925
|
-
navbarText: string;
|
|
3926
|
-
};
|
|
3927
|
-
/** Colors for ITTable/ITDataTable/ITSearchTable header and rows. */
|
|
3928
|
-
table: {
|
|
3929
|
-
/** Background color of the table header row (hex). @default "#f8fafc" */
|
|
3930
|
-
headerBg: string;
|
|
3931
|
-
/** Text color of the table header row. @default "#334155" */
|
|
3932
|
-
headerText: string;
|
|
3933
|
-
/** Background color of table body rows (hex). @default "#ffffff" */
|
|
3934
|
-
rowBg: string;
|
|
3935
|
-
/** Text color of table body rows. @default "#1e293b" */
|
|
3936
|
-
rowText: string;
|
|
3937
|
-
/** Background color applied to a table body row while the pointer is over it (hex). @default "#f1f5f9" */
|
|
3938
|
-
rowHover: string;
|
|
3939
|
-
};
|
|
3940
|
-
}
|
|
3941
|
-
interface ITThemeProviderProps {
|
|
3942
|
-
/** Partial palette overrides merged (deep merge) with the default theme. Supports primary, secondary, ternary, danger, success, info, alert, warning, layout, and table colors. Persisted to `localStorage` under `"it-theme-palette"` once the user edits it via the FAB/drawer. */
|
|
3943
|
-
theme?: Partial<ITThemePalette$1>;
|
|
3944
|
-
/** The subtree that receives the theme context and CSS variables. Must wrap your entire app (or the portion that uses AXZY UI System components) once, near the root. */
|
|
3945
|
-
children: React.ReactNode;
|
|
3946
|
-
/** Whether to render the floating action button (bottom-right) that opens the live theme-designer drawer, letting end users tweak colors and persist their choice. Set to `false` to hide the FAB in production and only theme via the `theme` prop. @default true */
|
|
3947
|
-
showFab?: boolean;
|
|
3948
|
-
/** Global density/compactness factor. Values below 1 shrink the UI's base sizes, above 1 grow them (e.g. `0.8` = 80%: smaller fonts, paddings, gaps, spacing). Applied by scaling the root font-size so every `rem`-based token in Tailwind components compacts together, keeping the layout fluid (no empty margins, unlike CSS zoom). Clamped to `0.5`–`1.5`. @default 1 */
|
|
3949
|
-
density?: number;
|
|
3950
|
-
/** Global border radius in pixels applied to the entire rounding scale (`rounded-sm/md/lg/xl/2xl/…`). `radius={2}` ⇒ 2px corners (near-square), `8` ⇒ 8px, `0` ⇒ completely square. Every `rounded-*` utility resolves to a `--radius-*` variable, so this reshapes inputs, buttons, cards, dialogs and tables system-wide with no per-component changes. @default 0 (no override, Tailwind defaults) */
|
|
3951
|
-
radius?: number;
|
|
3952
|
-
/** Global shadow strength level. `0` ⇒ no shadows, `1` ⇒ subtle, `2` ⇒ default current look, `3` ⇒ pronounced. Shadows are injected as `--shadow-*`/`.shadow-*` overrides so cards, dropdowns and dialogs follow the level. @default 2 (keeps current default when omitted) */
|
|
3953
|
-
shadow?: number;
|
|
3954
|
-
}
|
|
3955
|
-
|
|
3956
3958
|
type ColorScale = {
|
|
3957
3959
|
50: string;
|
|
3958
3960
|
100: string;
|
|
@@ -3966,7 +3968,13 @@ type ColorScale = {
|
|
|
3966
3968
|
900: string;
|
|
3967
3969
|
950?: string;
|
|
3968
3970
|
};
|
|
3969
|
-
|
|
3971
|
+
/**
|
|
3972
|
+
* Visual language of the whole system.
|
|
3973
|
+
* - `"soft"`: soft depth — floating cards, tinted shadows, glass sidebar and top bar (default).
|
|
3974
|
+
* - `"flat"`: flat surfaces — hairline borders instead of shadows, plain sidebar and top bar, compact page headers.
|
|
3975
|
+
*/
|
|
3976
|
+
type ITThemeAppearance = "soft" | "flat";
|
|
3977
|
+
interface ITThemePalette$1 {
|
|
3970
3978
|
/** Main brand accent color (hex). Drives primary buttons, active nav items, focus rings, links, and the `--color-primary` CSS variable. @default "#06b6d4" */
|
|
3971
3979
|
primary: string;
|
|
3972
3980
|
/** Secondary/neutral accent color (hex). Used for less prominent actions and secondary badges/buttons. @default "#6b7280" */
|
|
@@ -4090,21 +4098,82 @@ interface ITThemeConfig {
|
|
|
4090
4098
|
};
|
|
4091
4099
|
}
|
|
4092
4100
|
|
|
4101
|
+
interface ITThemePalette {
|
|
4102
|
+
/** Main brand accent color (hex). Drives primary buttons, active nav items, focus rings, links, and the `--color-primary` CSS variable. @default "#06b6d4" */
|
|
4103
|
+
primary: string;
|
|
4104
|
+
/** Secondary/neutral accent color (hex). Used for less prominent actions and secondary badges/buttons. @default "#6b7280" */
|
|
4105
|
+
secondary: string;
|
|
4106
|
+
/** Tertiary accent color (hex), used for a third level of emphasis (e.g. alternate badges, chart accents). @default "#8b5cf6" */
|
|
4107
|
+
ternary: string;
|
|
4108
|
+
/** Semantic color for destructive/error states (hex): delete buttons, error badges, invalid form fields. @default "#ef4444" */
|
|
4109
|
+
danger: string;
|
|
4110
|
+
/** Semantic color for success/confirmation states (hex): success badges, completed steps, positive stats. @default "#22c55e" */
|
|
4111
|
+
success: string;
|
|
4112
|
+
/** Semantic color for informational states (hex): info banners/badges, neutral notices. @default "#3b82f6" */
|
|
4113
|
+
info: string;
|
|
4114
|
+
/** Semantic color for alert/caution states (hex), distinct from `warning`. Used by components that need a stronger visual cue than warning. @default "#f97316" */
|
|
4115
|
+
alert: string;
|
|
4116
|
+
/** Semantic color for warning states (hex): warning badges/banners, pending states. @default "#eab308" */
|
|
4117
|
+
warning: string;
|
|
4118
|
+
/** Colors for the app shell's sidebar and top navbar (ITSidebar, ITNavbar, ITTopbar, ITLayout). */
|
|
4119
|
+
layout: {
|
|
4120
|
+
/** Background color of the sidebar (hex). @default "#ffffff" */
|
|
4121
|
+
sidebarBg: string;
|
|
4122
|
+
/** Text/icon color used on the sidebar. @default "#334155" */
|
|
4123
|
+
sidebarText: string;
|
|
4124
|
+
/** Background color of the top navigation bar (hex). @default "#ffffff" */
|
|
4125
|
+
navbarBg: string;
|
|
4126
|
+
/** Text/icon color used on the top navigation bar. @default "#1e293b" */
|
|
4127
|
+
navbarText: string;
|
|
4128
|
+
};
|
|
4129
|
+
/** Colors for ITTable/ITDataTable/ITSearchTable header and rows. */
|
|
4130
|
+
table: {
|
|
4131
|
+
/** Background color of the table header row (hex). @default "#f8fafc" */
|
|
4132
|
+
headerBg: string;
|
|
4133
|
+
/** Text color of the table header row. @default "#334155" */
|
|
4134
|
+
headerText: string;
|
|
4135
|
+
/** Background color of table body rows (hex). @default "#ffffff" */
|
|
4136
|
+
rowBg: string;
|
|
4137
|
+
/** Text color of table body rows. @default "#1e293b" */
|
|
4138
|
+
rowText: string;
|
|
4139
|
+
/** Background color applied to a table body row while the pointer is over it (hex). @default "#f1f5f9" */
|
|
4140
|
+
rowHover: string;
|
|
4141
|
+
};
|
|
4142
|
+
}
|
|
4143
|
+
interface ITThemeProviderProps {
|
|
4144
|
+
/** Partial palette overrides merged (deep merge) with the default theme. Supports primary, secondary, ternary, danger, success, info, alert, warning, layout, and table colors. Persisted to `localStorage` under `"it-theme-palette"` once the user edits it via the FAB/drawer. */
|
|
4145
|
+
theme?: Partial<ITThemePalette>;
|
|
4146
|
+
/** The subtree that receives the theme context and CSS variables. Must wrap your entire app (or the portion that uses AXZY UI System components) once, near the root. */
|
|
4147
|
+
children: React.ReactNode;
|
|
4148
|
+
/** Whether to render the floating action button (bottom-right) that opens the live theme-designer drawer, letting end users tweak colors and persist their choice. Set to `false` to hide the FAB in production and only theme via the `theme` prop. @default true */
|
|
4149
|
+
showFab?: boolean;
|
|
4150
|
+
/** Global density/compactness factor. Values below 1 shrink the UI's base sizes, above 1 grow them (e.g. `0.8` = 80%: smaller fonts, paddings, gaps, spacing). Applied by scaling the root font-size so every `rem`-based token in Tailwind components compacts together, keeping the layout fluid (no empty margins, unlike CSS zoom). Clamped to `0.5`–`1.5`. @default 1 */
|
|
4151
|
+
density?: number;
|
|
4152
|
+
/** Global border radius in pixels applied to the entire rounding scale (`rounded-sm/md/lg/xl/2xl/…`). `radius={2}` ⇒ 2px corners (near-square), `8` ⇒ 8px, `0` ⇒ completely square. Every `rounded-*` utility resolves to a `--radius-*` variable, so this reshapes inputs, buttons, cards, dialogs and tables system-wide with no per-component changes. @default 0 (no override, Tailwind defaults) */
|
|
4153
|
+
radius?: number;
|
|
4154
|
+
/** Global shadow strength level. `0` ⇒ no shadows, `1` ⇒ subtle, `2` ⇒ default current look, `3` ⇒ pronounced. Shadows are injected as `--shadow-*`/`.shadow-*` overrides so cards, dropdowns and dialogs follow the level. @default 2 (keeps current default when omitted) */
|
|
4155
|
+
shadow?: number;
|
|
4156
|
+
/** Visual language of the whole system. `"soft"` keeps the current look (floating cards, tinted shadows, glass sidebar/top bar). `"flat"` switches the app shell and surfaces to flat ones: hairline borders instead of shadows on `ITCard`, a plain `ITSidebar` (no glow, no accent bar, narrower), a plain `ITTopBar` (no shadow, initials avatar) and a compact `ITPageHeader` without the icon tile. It also sets `data-it-appearance` on `<html>` so app CSS can follow it. Combine it with `shadow` and `radius` to finish the look. @default "soft" */
|
|
4157
|
+
appearance?: ITThemeAppearance;
|
|
4158
|
+
}
|
|
4159
|
+
|
|
4093
4160
|
/**
|
|
4094
4161
|
* Contexto de theming compartido por ITThemeProvider y componentes que lo
|
|
4095
4162
|
* consumen (p.ej. ITFormHeader). Vive en @/theme para que ninguna capa
|
|
4096
4163
|
* atómica dependa de otra a través del provider.
|
|
4097
4164
|
*/
|
|
4098
4165
|
interface ITThemeContextType {
|
|
4099
|
-
palette: ITThemePalette;
|
|
4100
|
-
colors: ITThemePalette;
|
|
4101
|
-
setPalette: (newPalette: ITThemePalette) => void;
|
|
4166
|
+
palette: ITThemePalette$1;
|
|
4167
|
+
colors: ITThemePalette$1;
|
|
4168
|
+
setPalette: (newPalette: ITThemePalette$1) => void;
|
|
4102
4169
|
updateColor: (key: string, value: string) => void;
|
|
4103
4170
|
resetTheme: () => void;
|
|
4104
|
-
applyPreset: (colors: ITThemePalette) => void;
|
|
4171
|
+
applyPreset: (colors: ITThemePalette$1) => void;
|
|
4105
4172
|
resolvedTheme: "light" | "dark";
|
|
4106
4173
|
darkModeMode: "light" | "dark" | "system";
|
|
4107
4174
|
setDarkModeMode: (mode: "light" | "dark" | "system") => void;
|
|
4175
|
+
/** Visual language chosen on the provider (`"soft"` unless `appearance` says otherwise). */
|
|
4176
|
+
appearance: ITThemeAppearance;
|
|
4108
4177
|
}
|
|
4109
4178
|
declare const useITTheme: () => ITThemeContextType;
|
|
4110
4179
|
/**
|
|
@@ -4112,6 +4181,11 @@ declare const useITTheme: () => ITThemeContextType;
|
|
|
4112
4181
|
* si se usa fuera de ITThemeProvider (no lanza error).
|
|
4113
4182
|
*/
|
|
4114
4183
|
declare const useITThemeSafe: () => ITThemeContextType | undefined;
|
|
4184
|
+
/**
|
|
4185
|
+
* `true` cuando el provider pide el lenguaje visual plano (`appearance="flat"`).
|
|
4186
|
+
* Fuera de un ITThemeProvider devuelve `false` (aspecto por defecto).
|
|
4187
|
+
*/
|
|
4188
|
+
declare const useITFlatAppearance: () => boolean;
|
|
4115
4189
|
|
|
4116
4190
|
/**
|
|
4117
4191
|
* Root theme context provider that injects CSS custom properties for all components,
|
|
@@ -4127,7 +4201,7 @@ declare const useITThemeSafe: () => ITThemeContextType | undefined;
|
|
|
4127
4201
|
* <Dashboard />
|
|
4128
4202
|
* </ITThemeProvider>
|
|
4129
4203
|
*/
|
|
4130
|
-
declare function ITThemeProvider({ children, theme, showFab, density, radius, shadow, }: ITThemeProviderProps): react_jsx_runtime.JSX.Element;
|
|
4204
|
+
declare function ITThemeProvider({ children, theme, showFab, density, radius, shadow, appearance, }: ITThemeProviderProps): react_jsx_runtime.JSX.Element;
|
|
4131
4205
|
|
|
4132
4206
|
interface ITTimePickerProps {
|
|
4133
4207
|
/** Form field name attribute and key for the change event. */
|
|
@@ -4196,10 +4270,10 @@ declare const isLightColor: (hex: string) => boolean;
|
|
|
4196
4270
|
/**
|
|
4197
4271
|
* Traduce un valor de color de CSS (hexadecimal o variable var(--...)) a hexadecimal absoluto.
|
|
4198
4272
|
*/
|
|
4199
|
-
declare const resolveCssColor: (colorStr: string, palette?: ITThemePalette
|
|
4273
|
+
declare const resolveCssColor: (colorStr: string, palette?: ITThemePalette, isDarkMode?: boolean) => string;
|
|
4200
4274
|
/**
|
|
4201
4275
|
* Obtiene la clase de color de texto óptima (blanca o gris oscuro) basado en el fondo.
|
|
4202
4276
|
*/
|
|
4203
|
-
declare const getContrastTextColor: (bgColor: string, palette?: ITThemePalette
|
|
4277
|
+
declare const getContrastTextColor: (bgColor: string, palette?: ITThemePalette, isDarkMode?: boolean) => "text-white" | "text-slate-800";
|
|
4204
4278
|
|
|
4205
|
-
export { type Column, type ColumnFilterMode, type ColumnFilterValue, type ColumnFilters, type FieldConfig, type FieldConfigV2, FileTypeEnum, ITAccordion, type ITAccordionItem, type ITAccordionProps, ITAlert, type ITAlertProps, ITAvatar, type ITAvatarProps, ITBadget, type ITBadgetProps, type ITBreadcrumbItem, ITBreadcrumbs, type ITBreadcrumbsProps, ITButton, type ITButtonProps, ITCalendar, type ITCalendarProps, ITCard, type ITCardProps, ITCheckbox, type ITCheckboxProps, ITChip, ITChipInput, type ITChipInputProps, type ITChipProps, ITConfirmDialog, type ITConfirmDialogProps, ITDataTable, type ITDataTableFetchParams, type ITDataTableProps, type ITDataTableResponse, ITDatePicker, type ITDatePickerProps, ITDialog, type ITDialogProps, ITDivider, type ITDividerProps, ITDrawer, type ITDrawerProps, ITDropdownMenu, type ITDropdownMenuItem, type ITDropdownMenuProps, ITDropfile, ITEmptyState, type ITEmptyStateProps, ITField, type ITFieldProps, ITFlex, type ITFlexProps, ITFormBuilder, type ITFormBuilderProps, ITFormHeader, type ITFormHeaderProps, ITGrid, type ITGridProps, ITImage, type ITImageProps, ITInput, ITInputNumber, type ITInputNumberProps, type ITInputProps, ITLayout, type ITLayoutProps, ITLoader, type LoaderProps as ITLoaderProps, ITMaskedInput, type ITMaskedInputProps, ITMultiSelect, type ITMultiSelectOption, type ITMultiSelectProps, ITNavbar, type ITNavbarProps, type ITNavigationItem, type ITNavigationSubItem, type ITNavigationSubItemEntry, type ITNavigationSubItemGroup, ITPage, ITPageHeader, type ITPageHeaderProps, type ITPageProps, ITPagination, type ITPaginationProps, ITPopover, type ITPopoverProps, ITProgress, type ITProgressProps, ITRadioGroup, type ITRadioGroupProps, type ITRadioOption, ITSearchSelect, type ITSearchSelectProps, ITSearchTable, type ITSearchTableProps, ITSegmentedControl, type ITSegmentedControlProps, ITSelect, type ITSelectProps, ITSidebar, type ITSidebarNotification, type ITSidebarProps, ITSkeleton, type ITSkeletonProps, ITSlideToggle, type ITSlideToggleProps, ITSlider, type ITSliderProps, ITStack, type ITStackProps, ITStatCard, type ITStatCardProps, ITStepper, type ITStepperProps, type ITTabItem, ITTable, type ITTableProps, ITTabs, type ITTabsProps, ITText, type ITTextProps, ITTextarea, type ITTextareaProps, type
|
|
4279
|
+
export { type Column, type ColumnFilterMode, type ColumnFilterValue, type ColumnFilters, type FieldConfig, type FieldConfigV2, FileTypeEnum, ITAccordion, type ITAccordionItem, type ITAccordionProps, ITAlert, type ITAlertProps, ITAvatar, type ITAvatarProps, ITBadget, type ITBadgetProps, type ITBreadcrumbItem, ITBreadcrumbs, type ITBreadcrumbsProps, ITButton, type ITButtonProps, ITCalendar, type ITCalendarProps, ITCard, type ITCardProps, ITCheckbox, type ITCheckboxProps, ITChip, ITChipInput, type ITChipInputProps, type ITChipProps, ITConfirmDialog, type ITConfirmDialogProps, ITDataTable, type ITDataTableFetchParams, type ITDataTableProps, type ITDataTableResponse, ITDatePicker, type ITDatePickerProps, ITDialog, type ITDialogProps, ITDivider, type ITDividerProps, ITDrawer, type ITDrawerProps, ITDropdownMenu, type ITDropdownMenuItem, type ITDropdownMenuProps, ITDropfile, ITEmptyState, type ITEmptyStateProps, ITField, type ITFieldProps, ITFlex, type ITFlexProps, ITFormBuilder, type ITFormBuilderProps, ITFormHeader, type ITFormHeaderProps, ITGrid, type ITGridProps, ITImage, type ITImageProps, ITInput, ITInputNumber, type ITInputNumberProps, type ITInputProps, ITLayout, type ITLayoutProps, ITLoader, type LoaderProps as ITLoaderProps, ITMaskedInput, type ITMaskedInputProps, ITMultiSelect, type ITMultiSelectOption, type ITMultiSelectProps, ITNavbar, type ITNavbarProps, type ITNavigationItem, type ITNavigationSubItem, type ITNavigationSubItemEntry, type ITNavigationSubItemGroup, ITPage, ITPageHeader, type ITPageHeaderProps, type ITPageProps, ITPagination, type ITPaginationProps, ITPopover, type ITPopoverProps, ITProgress, type ITProgressProps, ITRadioGroup, type ITRadioGroupProps, type ITRadioOption, ITSearchSelect, type ITSearchSelectProps, ITSearchTable, type ITSearchTableProps, ITSegmentedControl, type ITSegmentedControlProps, ITSelect, type ITSelectProps, ITSidebar, type ITSidebarBrand, type ITSidebarNotification, type ITSidebarProps, ITSkeleton, type ITSkeletonProps, ITSlideToggle, type ITSlideToggleProps, ITSlider, type ITSliderProps, ITStack, type ITStackProps, ITStatCard, type ITStatCardProps, ITStepper, type ITStepperProps, type ITTabItem, ITTable, type ITTableProps, ITTabs, type ITTabsProps, ITText, type ITTextProps, ITTextarea, type ITTextareaProps, type ITThemeAppearance, type ITThemeConfig, type ITThemePalette, ITThemeProvider, type ITThemeProviderProps, ITTimePicker, type ITTimePickerProps, ITToast, type ITToastProps, ITTripleFilter, type ITTripleFilterOption, type ITTripleFilterProps, ITWysiwyg, type ITWysiwygProps, type TableDensity, UploadStatus, type UseTableStateOptions, type UseTableStateResult, createValidationSchema, getContrastTextColor, isLightColor, resolveCssColor, useClickOutside, useDebouncedSearch, useEditableRow, useFloatingPanel, useITFlatAppearance, useITTheme, useITThemeSafe, useTableState };
|