@nice2dev/ui-core 1.0.10
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/CHANGELOG.md +63 -0
- package/README.md +62 -0
- package/dist/core/NiceInlineHelp.d.ts +69 -0
- package/dist/core/NiceInlineHelp.d.ts.map +1 -0
- package/dist/core/NiceThemeProvider.d.ts +31 -0
- package/dist/core/NiceThemeProvider.d.ts.map +1 -0
- package/dist/core/NiceThemeVariants.d.ts +55 -0
- package/dist/core/NiceThemeVariants.d.ts.map +1 -0
- package/dist/core/NiceUserPreferences.d.ts +304 -0
- package/dist/core/NiceUserPreferences.d.ts.map +1 -0
- package/dist/core/a11y-advanced.d.ts +157 -0
- package/dist/core/a11y-advanced.d.ts.map +1 -0
- package/dist/core/a11y.d.ts +299 -0
- package/dist/core/a11y.d.ts.map +1 -0
- package/dist/core/access-control.d.ts +59 -0
- package/dist/core/access-control.d.ts.map +1 -0
- package/dist/core/adapters.d.ts +178 -0
- package/dist/core/adapters.d.ts.map +1 -0
- package/dist/core/ai.d.ts +191 -0
- package/dist/core/ai.d.ts.map +1 -0
- package/dist/core/animations.d.ts +48 -0
- package/dist/core/animations.d.ts.map +1 -0
- package/dist/core/colorBlind.d.ts +22 -0
- package/dist/core/colorBlind.d.ts.map +1 -0
- package/dist/core/datasource-advanced.d.ts +261 -0
- package/dist/core/datasource-advanced.d.ts.map +1 -0
- package/dist/core/datasource-aggregation.d.ts +221 -0
- package/dist/core/datasource-aggregation.d.ts.map +1 -0
- package/dist/core/datasource-hooks.d.ts +93 -0
- package/dist/core/datasource-hooks.d.ts.map +1 -0
- package/dist/core/datasource-offline.d.ts +201 -0
- package/dist/core/datasource-offline.d.ts.map +1 -0
- package/dist/core/datasource.d.ts +181 -0
- package/dist/core/datasource.d.ts.map +1 -0
- package/dist/core/displayMode.d.ts +46 -0
- package/dist/core/displayMode.d.ts.map +1 -0
- package/dist/core/displayStyle.d.ts +79 -0
- package/dist/core/displayStyle.d.ts.map +1 -0
- package/dist/core/helpContext.d.ts +97 -0
- package/dist/core/helpContext.d.ts.map +1 -0
- package/dist/core/hooks.d.ts +149 -0
- package/dist/core/hooks.d.ts.map +1 -0
- package/dist/core/i18n.d.ts +10 -0
- package/dist/core/i18n.d.ts.map +1 -0
- package/dist/core/i18nDictionaries.d.ts +4 -0
- package/dist/core/i18nDictionaries.d.ts.map +1 -0
- package/dist/core/icons.d.ts +45 -0
- package/dist/core/icons.d.ts.map +1 -0
- package/dist/core/icuMessageFormat.d.ts +10 -0
- package/dist/core/icuMessageFormat.d.ts.map +1 -0
- package/dist/core/leak-detector.d.ts +263 -0
- package/dist/core/leak-detector.d.ts.map +1 -0
- package/dist/core/omniverkTypes.d.ts +164 -0
- package/dist/core/omniverkTypes.d.ts.map +1 -0
- package/dist/core/pluginSystem.d.ts +97 -0
- package/dist/core/pluginSystem.d.ts.map +1 -0
- package/dist/core/profiling.d.ts +276 -0
- package/dist/core/profiling.d.ts.map +1 -0
- package/dist/core/responsive.d.ts +107 -0
- package/dist/core/responsive.d.ts.map +1 -0
- package/dist/core/rtl.d.ts +47 -0
- package/dist/core/rtl.d.ts.map +1 -0
- package/dist/core/sanitizeHtml.d.ts +16 -0
- package/dist/core/sanitizeHtml.d.ts.map +1 -0
- package/dist/core/testing.d.ts +107 -0
- package/dist/core/testing.d.ts.map +1 -0
- package/dist/core/theme.d.ts +213 -0
- package/dist/core/theme.d.ts.map +1 -0
- package/dist/core/themeGallery.d.ts +104 -0
- package/dist/core/themeGallery.d.ts.map +1 -0
- package/dist/core/themePacks.d.ts +53 -0
- package/dist/core/themePacks.d.ts.map +1 -0
- package/dist/core/themePacksExtended.d.ts +59 -0
- package/dist/core/themePacksExtended.d.ts.map +1 -0
- package/dist/core/themePresets.d.ts +10 -0
- package/dist/core/themePresets.d.ts.map +1 -0
- package/dist/core/themeVariants.d.ts +204 -0
- package/dist/core/themeVariants.d.ts.map +1 -0
- package/dist/core/touch.d.ts +208 -0
- package/dist/core/touch.d.ts.map +1 -0
- package/dist/core/traceless.d.ts +461 -0
- package/dist/core/traceless.d.ts.map +1 -0
- package/dist/core/types.d.ts +105 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/useThemeIsDark.d.ts +15 -0
- package/dist/core/useThemeIsDark.d.ts.map +1 -0
- package/dist/index.cjs +128 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +49 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.mjs +16881 -0
- package/dist/index.mjs.map +1 -0
- package/dist/performance/concurrent.d.ts +190 -0
- package/dist/performance/concurrent.d.ts.map +1 -0
- package/dist/performance/images.d.ts +189 -0
- package/dist/performance/images.d.ts.map +1 -0
- package/dist/performance/index.d.ts +17 -0
- package/dist/performance/index.d.ts.map +1 -0
- package/dist/performance/memory.d.ts +223 -0
- package/dist/performance/memory.d.ts.map +1 -0
- package/dist/performance/virtualization.d.ts +166 -0
- package/dist/performance/virtualization.d.ts.map +1 -0
- package/dist/performance/workers.d.ts +125 -0
- package/dist/performance/workers.d.ts.map +1 -0
- package/dist/viewSchema.d.ts +81 -0
- package/dist/viewSchema.d.ts.map +1 -0
- package/package.json +61 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# @nice2dev/ui-core — Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to the cross-framework core package.
|
|
4
|
+
|
|
5
|
+
## [0.2.0] — 2026-03-25
|
|
6
|
+
|
|
7
|
+
### Added — Component Core Abstractions (FAZA 8.1)
|
|
8
|
+
|
|
9
|
+
Framework-agnostic TypeScript contracts, state machines, validation utilities, and behavior logic for all major UI component categories. These are consumed by Angular/Vue/Web Component/Blazor adapters.
|
|
10
|
+
|
|
11
|
+
#### Shared
|
|
12
|
+
- `ComponentBaseProps`, `ComponentEvent`, `createComponentEvent`
|
|
13
|
+
- Types: `ComponentSize`, `ComponentVariant`, `ComponentDensity`, `Orientation`, `Placement`, `Alignment`
|
|
14
|
+
|
|
15
|
+
#### Buttons
|
|
16
|
+
- Contracts: `ButtonProps`, `ButtonGroupProps`, `DropDownButtonProps`, `IconButtonProps`, `SpeedDialProps`
|
|
17
|
+
- Types: `ButtonType`, `ButtonStyle`, `DropDownItem`, `SpeedDialAction`
|
|
18
|
+
|
|
19
|
+
#### Form Controls
|
|
20
|
+
- `FormFieldProps`, `ValidationRule`, `ValidationResult` + `validateField()` (pure validation, no framework deps)
|
|
21
|
+
- `TextInputProps` (type, mask, prefix/suffix, maxLength)
|
|
22
|
+
- `NumberInputProps` + `clampNumber()` (min/max/precision clamping)
|
|
23
|
+
- `SelectProps` + `filterOptions()`, `groupOptions()` (search/group utilities)
|
|
24
|
+
- `CheckboxProps`, `ToggleProps`, `SliderProps`
|
|
25
|
+
- `DatePickerProps` (date/datetime/time/month/year/range modes)
|
|
26
|
+
- `TextAreaProps`, `AutocompleteProps`, `ColorPickerProps`, `FileUploadProps`
|
|
27
|
+
|
|
28
|
+
#### Data Display
|
|
29
|
+
- `DataGridProps`, `ColumnDef`, `SortState`, `FilterState` + `multiSort()`, `applyFilters()`, `paginate()`
|
|
30
|
+
- `BadgeProps`, `ProgressProps`, `AvatarProps` + `getInitials()`
|
|
31
|
+
|
|
32
|
+
#### Navigation
|
|
33
|
+
- `TabsProps`, `TabItem` + `createTabsState()` (state machine with getActive/setActive/getNext/getPrev)
|
|
34
|
+
- `BreadcrumbProps`, `BreadcrumbItem` + `collapseBreadcrumb()` (keeps first + last N items)
|
|
35
|
+
- `AccordionProps`, `AccordionItem` + `toggleAccordion()` (single/multiple mode logic)
|
|
36
|
+
- `MenuProps`, `MenuItem`, `DrawerProps`
|
|
37
|
+
|
|
38
|
+
#### Overlays & Feedback
|
|
39
|
+
- `ModalProps`, `AlertProps`, `ToastConfig` + `ToastManager` class (queue, subscribe, dismiss, auto-expire)
|
|
40
|
+
- `PopoverProps`, `TooltipProps`
|
|
41
|
+
|
|
42
|
+
#### Charts
|
|
43
|
+
- `ChartProps`, `ChartSeries`, `ChartAxis`, `ChartLegend` (17 chart types)
|
|
44
|
+
|
|
45
|
+
#### Planning
|
|
46
|
+
- `SchedulerProps`, `SchedulerEvent`, `SchedulerResource` (day/week/month/timeline/agenda views)
|
|
47
|
+
- `GanttProps`, `GanttTask` (with dependencies, milestones, progress)
|
|
48
|
+
|
|
49
|
+
#### Tree View
|
|
50
|
+
- `TreeViewProps`, `TreeNode` + `flattenTree()` (for virtual scrolling), `searchTree()` (match with paths)
|
|
51
|
+
|
|
52
|
+
#### Layout
|
|
53
|
+
- `SplitterProps`, `SplitterPane` + `calculatePaneSizes()` (constrained resize logic)
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## [0.1.0] — 2025-06-01
|
|
58
|
+
|
|
59
|
+
Initial release — facade package re-exporting core utilities from @nice2dev/ui.
|
|
60
|
+
|
|
61
|
+
- Types, Hooks, i18n, Icons, Accessibility, RTL, Animations, Responsive, Testing
|
|
62
|
+
- Access Control, Touch, Theme, DataSource (core + advanced + offline + aggregation)
|
|
63
|
+
- Display Style system
|
package/README.md
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# @nice2dev/ui-core
|
|
2
|
+
|
|
3
|
+
> Framework-agnostic component contracts — pure TypeScript types, validation logic, and state utilities powering cross-framework adapters (Angular, Vue, Web Components, Blazor).
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- **Component Contracts** — TypeScript interfaces for 30+ component types (buttons, forms, data display, navigation, overlays, charts, planning, layout)
|
|
8
|
+
- **Validation Engine** — `validateField()` with 10 rule types: required, minLength, maxLength, min, max, pattern, email, url, custom
|
|
9
|
+
- **State Utilities** — `createTabsState()`, `ToastManager`, `toggleAccordion()`, `calculatePaneSizes()`
|
|
10
|
+
- **Data Helpers** — `multiSort()`, `applyFilters()`, `paginate()`, `filterOptions()`, `groupOptions()`, `flattenTree()`, `searchTree()`
|
|
11
|
+
- **Display Styles** — animation tokens, responsive breakpoints, theme contracts, i18n types, DataSource abstraction
|
|
12
|
+
- **Zero Dependencies** — pure TypeScript, no runtime framework dependency
|
|
13
|
+
|
|
14
|
+
## Installation
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
npm install @nice2dev/ui-core
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Usage
|
|
21
|
+
|
|
22
|
+
```typescript
|
|
23
|
+
import {
|
|
24
|
+
type ButtonProps,
|
|
25
|
+
type TextInputProps,
|
|
26
|
+
type DataGridProps,
|
|
27
|
+
validateField,
|
|
28
|
+
multiSort,
|
|
29
|
+
applyFilters,
|
|
30
|
+
paginate,
|
|
31
|
+
ToastManager,
|
|
32
|
+
createTabsState,
|
|
33
|
+
} from '@nice2dev/ui-core';
|
|
34
|
+
|
|
35
|
+
// Validate a form field
|
|
36
|
+
const errors = validateField('email', 'user@example.com', [
|
|
37
|
+
{ type: 'required' },
|
|
38
|
+
{ type: 'email' },
|
|
39
|
+
]);
|
|
40
|
+
|
|
41
|
+
// Manage toast notifications
|
|
42
|
+
const toasts = new ToastManager();
|
|
43
|
+
toasts.subscribe((list) => console.log('Toasts:', list));
|
|
44
|
+
toasts.add({ message: 'Saved!', severity: 'success' });
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Component Categories
|
|
48
|
+
|
|
49
|
+
| Category | Types |
|
|
50
|
+
|----------|-------|
|
|
51
|
+
| **Buttons** | Button, ButtonGroup, DropDownButton, IconButton, SpeedDial |
|
|
52
|
+
| **Form Controls** | TextInput, NumberInput, Select, Checkbox, Toggle, Slider, DatePicker, TextArea, Autocomplete, ColorPicker, FileUpload |
|
|
53
|
+
| **Data Display** | DataGrid (sort, filter, paginate), Badge, Progress, Avatar |
|
|
54
|
+
| **Navigation** | Tabs, Breadcrumb, Accordion, Menu, Drawer |
|
|
55
|
+
| **Overlays** | Modal, Alert, Toast, Popover, Tooltip |
|
|
56
|
+
| **Charts** | 17 chart types with series, axis, legend contracts |
|
|
57
|
+
| **Planning** | Scheduler, Gantt |
|
|
58
|
+
| **Tree & Layout** | TreeView, Splitter |
|
|
59
|
+
|
|
60
|
+
## License
|
|
61
|
+
|
|
62
|
+
MIT © NiceToDev
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* NiceInlineHelp — Inline help panel for components
|
|
3
|
+
*
|
|
4
|
+
* Shows contextual help, tips, and documentation directly within the component.
|
|
5
|
+
* Supports multiple display modes: tooltip, collapsible panel, sidebar.
|
|
6
|
+
*
|
|
7
|
+
* @since 2.6.0
|
|
8
|
+
*/
|
|
9
|
+
import React, { type ReactNode } from 'react';
|
|
10
|
+
import { type HelpContent } from './helpContext';
|
|
11
|
+
export interface NiceInlineHelpProps {
|
|
12
|
+
/** Component name for help lookup */
|
|
13
|
+
componentName: string;
|
|
14
|
+
/** Override help content (instead of loading from .doc.json) */
|
|
15
|
+
content?: HelpContent;
|
|
16
|
+
/** Custom children to render inside help panel */
|
|
17
|
+
children?: ReactNode;
|
|
18
|
+
/** Position override */
|
|
19
|
+
position?: 'top' | 'bottom' | 'tooltip' | 'inline';
|
|
20
|
+
/** Initial expanded state */
|
|
21
|
+
defaultExpanded?: boolean;
|
|
22
|
+
/** Disable help for this instance */
|
|
23
|
+
disabled?: boolean;
|
|
24
|
+
/** Additional className */
|
|
25
|
+
className?: string;
|
|
26
|
+
/** Custom trigger icon */
|
|
27
|
+
icon?: ReactNode;
|
|
28
|
+
/** Title override */
|
|
29
|
+
title?: string;
|
|
30
|
+
/** Show props table */
|
|
31
|
+
showProps?: boolean;
|
|
32
|
+
/** Show examples */
|
|
33
|
+
showExamples?: boolean;
|
|
34
|
+
/** Show tips */
|
|
35
|
+
showTips?: boolean;
|
|
36
|
+
/** Compact mode */
|
|
37
|
+
compact?: boolean;
|
|
38
|
+
}
|
|
39
|
+
export declare const NiceInlineHelp: React.FC<NiceInlineHelpProps>;
|
|
40
|
+
export interface NiceQuickHelpProps {
|
|
41
|
+
/** Help text to display */
|
|
42
|
+
text: string;
|
|
43
|
+
/** Help position */
|
|
44
|
+
position?: 'top' | 'right' | 'bottom' | 'left';
|
|
45
|
+
/** Custom className */
|
|
46
|
+
className?: string;
|
|
47
|
+
/** Trigger element */
|
|
48
|
+
children: ReactNode;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Lightweight inline help that shows on hover/focus
|
|
52
|
+
*/
|
|
53
|
+
export declare const NiceQuickHelp: React.FC<NiceQuickHelpProps>;
|
|
54
|
+
export interface NiceHelpIconProps {
|
|
55
|
+
/** Help content to show */
|
|
56
|
+
content: string | HelpContent;
|
|
57
|
+
/** Button size */
|
|
58
|
+
size?: 'sm' | 'md' | 'lg';
|
|
59
|
+
/** Custom className */
|
|
60
|
+
className?: string;
|
|
61
|
+
/** Callback when help is opened */
|
|
62
|
+
onOpen?: () => void;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Help icon that shows help content on click
|
|
66
|
+
*/
|
|
67
|
+
export declare const NiceHelpIcon: React.FC<NiceHelpIconProps>;
|
|
68
|
+
export default NiceInlineHelp;
|
|
69
|
+
//# sourceMappingURL=NiceInlineHelp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NiceInlineHelp.d.ts","sourceRoot":"","sources":["../../src/core/NiceInlineHelp.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,EAAoC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEhF,OAAO,EAAoB,KAAK,WAAW,EAAiB,MAAM,eAAe,CAAC;AAKlF,MAAM,WAAW,mBAAmB;IAClC,qCAAqC;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,gEAAgE;IAChE,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;IACnD,6BAA6B;IAC7B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,qCAAqC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0BAA0B;IAC1B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,qBAAqB;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oBAAoB;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mBAAmB;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAuID,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAqHxD,CAAC;AA8EF,MAAM,WAAW,kBAAkB;IACjC,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB;IACpB,QAAQ,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC/C,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sBAAsB;IACtB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAwBtD,CAAC;AAMF,MAAM,WAAW,iBAAiB;IAChC,2BAA2B;IAC3B,OAAO,EAAE,MAAM,GAAG,WAAW,CAAC;IAC9B,kBAAkB;IAClB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA0CpD,CAAC;AAIF,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { NiceDisplayStyle } from '../core/displayStyle';
|
|
3
|
+
import type { NiceTheme, NiceThemeDarkMode } from '../core/theme';
|
|
4
|
+
import type { ThemeVariantConfig } from '../core/themeVariants';
|
|
5
|
+
export interface NiceThemeProviderProps {
|
|
6
|
+
/** Current theme */
|
|
7
|
+
theme: NiceTheme;
|
|
8
|
+
/** Optional dark companion theme (used when darkMode='auto' and system prefers dark) */
|
|
9
|
+
darkTheme?: NiceTheme;
|
|
10
|
+
/** Variant configuration for component styles */
|
|
11
|
+
variantConfig?: Partial<ThemeVariantConfig>;
|
|
12
|
+
/** Override dark mode preference ('light' | 'dark' | 'auto'); defaults to theme.darkMode */
|
|
13
|
+
darkMode?: NiceThemeDarkMode;
|
|
14
|
+
/**
|
|
15
|
+
* Global display style applied to all child Nice* components.
|
|
16
|
+
* Each component can override via its own `displayStyle` prop.
|
|
17
|
+
*
|
|
18
|
+
* Resolution order:
|
|
19
|
+
* 1. This prop (if set)
|
|
20
|
+
* 2. theme.recommendedDisplayStyle (if the theme pack carries one)
|
|
21
|
+
* 3. 'default'
|
|
22
|
+
*
|
|
23
|
+
* @see NiceDisplayStyle
|
|
24
|
+
*/
|
|
25
|
+
displayStyle?: NiceDisplayStyle;
|
|
26
|
+
/** Animate theme transitions (default: true) */
|
|
27
|
+
animateTransitions?: boolean;
|
|
28
|
+
children: React.ReactNode;
|
|
29
|
+
}
|
|
30
|
+
export declare const NiceThemeProvider: React.FC<NiceThemeProviderProps>;
|
|
31
|
+
//# sourceMappingURL=NiceThemeProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NiceThemeProvider.d.ts","sourceRoot":"","sources":["../../src/core/NiceThemeProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmE,MAAM,OAAO,CAAC;AAExF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAM7D,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAOhE,MAAM,WAAW,sBAAsB;IACrC,oBAAoB;IACpB,KAAK,EAAE,SAAS,CAAC;IACjB,wFAAwF;IACxF,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,iDAAiD;IACjD,aAAa,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC5C,4FAA4F;IAC5F,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B;;;;;;;;;;OAUG;IACH,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,gDAAgD;IAChD,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAUD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAgN9D,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file NiceThemeVariants.tsx
|
|
3
|
+
* @description React components for theme variant configuration and preview
|
|
4
|
+
*
|
|
5
|
+
* @version 1.0.0
|
|
6
|
+
* @since 2026-03
|
|
7
|
+
* @license MIT
|
|
8
|
+
*/
|
|
9
|
+
import React from 'react';
|
|
10
|
+
import { ThemeVariantConfig } from './themeVariants';
|
|
11
|
+
interface ThemeVariantContextValue {
|
|
12
|
+
config: ThemeVariantConfig;
|
|
13
|
+
setConfig: (config: Partial<ThemeVariantConfig>) => void;
|
|
14
|
+
applyPreset: (presetName: string) => void;
|
|
15
|
+
reset: () => void;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Hook to access theme variant context
|
|
19
|
+
*/
|
|
20
|
+
export declare function useThemeVariants(): ThemeVariantContextValue;
|
|
21
|
+
export interface NiceThemeVariantProviderProps {
|
|
22
|
+
/** Initial variant config */
|
|
23
|
+
initialConfig?: Partial<ThemeVariantConfig>;
|
|
24
|
+
/** Storage key for persistence */
|
|
25
|
+
storageKey?: string;
|
|
26
|
+
/** Auto-apply to DOM */
|
|
27
|
+
autoApply?: boolean;
|
|
28
|
+
/** Children */
|
|
29
|
+
children: React.ReactNode;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Provider for theme variant configuration
|
|
33
|
+
*/
|
|
34
|
+
export declare function NiceThemeVariantProvider({ initialConfig, storageKey, autoApply, children, }: NiceThemeVariantProviderProps): JSX.Element;
|
|
35
|
+
export interface NiceThemeVariantConfiguratorProps {
|
|
36
|
+
/** Show preset selector */
|
|
37
|
+
showPresets?: boolean;
|
|
38
|
+
/** Show live preview */
|
|
39
|
+
showPreview?: boolean;
|
|
40
|
+
/** Show CSS output */
|
|
41
|
+
showCSS?: boolean;
|
|
42
|
+
/** Collapsible sections */
|
|
43
|
+
collapsible?: boolean;
|
|
44
|
+
/** Custom class */
|
|
45
|
+
className?: string;
|
|
46
|
+
/** Style */
|
|
47
|
+
style?: React.CSSProperties;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* UI for configuring theme variants
|
|
51
|
+
*/
|
|
52
|
+
export declare function NiceThemeVariantConfigurator({ showPresets, showPreview, showCSS, collapsible, className, style, }: NiceThemeVariantConfiguratorProps): JSX.Element;
|
|
53
|
+
export type { ThemeVariantConfig, RadiusVariant, ShadowVariant, FillVariant, ButtonStyleVariant, InputStyleVariant, CardStyleVariant, AnimationIntensity, DensityVariant, } from './themeVariants';
|
|
54
|
+
export { DEFAULT_VARIANT_CONFIG, VARIANT_PRESETS, applyVariantConfig, generateVariantCSS, } from './themeVariants';
|
|
55
|
+
//# sourceMappingURL=NiceThemeVariants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NiceThemeVariants.d.ts","sourceRoot":"","sources":["../../src/core/NiceThemeVariants.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAsE,MAAM,OAAO,CAAC;AAE3F,OAAO,EACL,kBAAkB,EAoBnB,MAAM,iBAAiB,CAAC;AAMzB,UAAU,wBAAwB;IAChC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,KAAK,IAAI,CAAC;IACzD,WAAW,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAID;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,wBAAwB,CAM3D;AAMD,MAAM,WAAW,6BAA6B;IAC5C,6BAA6B;IAC7B,aAAa,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC5C,kCAAkC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wBAAwB;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe;IACf,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,EACvC,aAAa,EACb,UAAiC,EACjC,SAAgB,EAChB,QAAQ,GACT,EAAE,6BAA6B,GAAG,GAAG,CAAC,OAAO,CAkD7C;AAMD,MAAM,WAAW,iCAAiC;IAChD,2BAA2B;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,wBAAwB;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,sBAAsB;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,2BAA2B;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,mBAAmB;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY;IACZ,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,EAC3C,WAAkB,EAClB,WAAkB,EAClB,OAAe,EACf,WAAkB,EAClB,SAAS,EACT,KAAK,GACN,EAAE,iCAAiC,GAAG,GAAG,CAAC,OAAO,CAyPjD;AAyLD,YAAY,EACV,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,WAAW,EACX,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,GACf,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file NiceUserPreferences.tsx
|
|
3
|
+
* @description User preferences system for storing and managing per-control customizations
|
|
4
|
+
*
|
|
5
|
+
* Features:
|
|
6
|
+
* - Per-control preferences storage
|
|
7
|
+
* - Grid column customization
|
|
8
|
+
* - Custom colors and styles
|
|
9
|
+
* - Layout preferences
|
|
10
|
+
* - Import/Export
|
|
11
|
+
* - Backend sync support
|
|
12
|
+
*
|
|
13
|
+
* @version 1.0.0
|
|
14
|
+
* @since 2026-03
|
|
15
|
+
* @license MIT
|
|
16
|
+
*/
|
|
17
|
+
import React from 'react';
|
|
18
|
+
/**
|
|
19
|
+
* Grid column preferences
|
|
20
|
+
*/
|
|
21
|
+
export interface GridColumnPreference {
|
|
22
|
+
/** Column ID */
|
|
23
|
+
id: string;
|
|
24
|
+
/** Visible */
|
|
25
|
+
visible?: boolean;
|
|
26
|
+
/** Width */
|
|
27
|
+
width?: number;
|
|
28
|
+
/** Order/index */
|
|
29
|
+
order?: number;
|
|
30
|
+
/** Pinned position */
|
|
31
|
+
pinned?: 'left' | 'right' | null;
|
|
32
|
+
/** Sort direction */
|
|
33
|
+
sort?: 'asc' | 'desc' | null;
|
|
34
|
+
/** Sort order for multi-sort */
|
|
35
|
+
sortIndex?: number;
|
|
36
|
+
/** Custom header */
|
|
37
|
+
customHeader?: string;
|
|
38
|
+
/** Custom cell background */
|
|
39
|
+
cellBackground?: string;
|
|
40
|
+
/** Custom cell text color */
|
|
41
|
+
cellColor?: string;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Grid preferences
|
|
45
|
+
*/
|
|
46
|
+
export interface GridPreferences {
|
|
47
|
+
/** Column configs */
|
|
48
|
+
columns?: GridColumnPreference[];
|
|
49
|
+
/** Page size */
|
|
50
|
+
pageSize?: number;
|
|
51
|
+
/** Row height */
|
|
52
|
+
rowHeight?: number;
|
|
53
|
+
/** Filter state */
|
|
54
|
+
filters?: Record<string, any>;
|
|
55
|
+
/** Grouping columns */
|
|
56
|
+
groupBy?: string[];
|
|
57
|
+
/** Expanded groups */
|
|
58
|
+
expandedGroups?: string[];
|
|
59
|
+
/** Selected rows */
|
|
60
|
+
selectedRows?: (string | number)[];
|
|
61
|
+
/** Custom row colors */
|
|
62
|
+
rowColors?: Record<string | number, string>;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Chart preferences
|
|
66
|
+
*/
|
|
67
|
+
export interface ChartPreferences {
|
|
68
|
+
/** Chart type override */
|
|
69
|
+
chartType?: string;
|
|
70
|
+
/** Custom colors */
|
|
71
|
+
colors?: string[];
|
|
72
|
+
/** Show/hide legend */
|
|
73
|
+
showLegend?: boolean;
|
|
74
|
+
/** Legend position */
|
|
75
|
+
legendPosition?: 'top' | 'bottom' | 'left' | 'right';
|
|
76
|
+
/** Show data labels */
|
|
77
|
+
showDataLabels?: boolean;
|
|
78
|
+
/** Custom title */
|
|
79
|
+
customTitle?: string;
|
|
80
|
+
/** Zoom state */
|
|
81
|
+
zoomState?: {
|
|
82
|
+
min: number;
|
|
83
|
+
max: number;
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Form preferences
|
|
88
|
+
*/
|
|
89
|
+
export interface FormPreferences {
|
|
90
|
+
/** Field order */
|
|
91
|
+
fieldOrder?: string[];
|
|
92
|
+
/** Hidden fields */
|
|
93
|
+
hiddenFields?: string[];
|
|
94
|
+
/** Column layout */
|
|
95
|
+
columns?: number;
|
|
96
|
+
/** Collapsed sections */
|
|
97
|
+
collapsedSections?: string[];
|
|
98
|
+
/** Default values */
|
|
99
|
+
defaultValues?: Record<string, any>;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Layout preferences
|
|
103
|
+
*/
|
|
104
|
+
export interface LayoutPreferences {
|
|
105
|
+
/** Sidebar collapsed */
|
|
106
|
+
sidebarCollapsed?: boolean;
|
|
107
|
+
/** Sidebar width */
|
|
108
|
+
sidebarWidth?: number;
|
|
109
|
+
/** Panel sizes */
|
|
110
|
+
panelSizes?: Record<string, number>;
|
|
111
|
+
/** Tab order */
|
|
112
|
+
tabOrder?: string[];
|
|
113
|
+
/** Active tab */
|
|
114
|
+
activeTab?: string;
|
|
115
|
+
/** Splitter positions */
|
|
116
|
+
splitterPositions?: Record<string, number>;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Display preferences
|
|
120
|
+
*/
|
|
121
|
+
export interface DisplayPreferences {
|
|
122
|
+
/** Date format */
|
|
123
|
+
dateFormat?: string;
|
|
124
|
+
/** Time format */
|
|
125
|
+
timeFormat?: string;
|
|
126
|
+
/** Number format */
|
|
127
|
+
numberFormat?: string;
|
|
128
|
+
/** Currency */
|
|
129
|
+
currency?: string;
|
|
130
|
+
/** Locale */
|
|
131
|
+
locale?: string;
|
|
132
|
+
/** Font size scale */
|
|
133
|
+
fontScale?: number;
|
|
134
|
+
/** High contrast mode */
|
|
135
|
+
highContrast?: boolean;
|
|
136
|
+
/** Reduced motion */
|
|
137
|
+
reducedMotion?: boolean;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Control-specific preferences
|
|
141
|
+
*/
|
|
142
|
+
export interface ControlPreferences {
|
|
143
|
+
/** Grid preferences */
|
|
144
|
+
grid?: GridPreferences;
|
|
145
|
+
/** Chart preferences */
|
|
146
|
+
chart?: ChartPreferences;
|
|
147
|
+
/** Form preferences */
|
|
148
|
+
form?: FormPreferences;
|
|
149
|
+
/** Layout preferences */
|
|
150
|
+
layout?: LayoutPreferences;
|
|
151
|
+
/** Display preferences */
|
|
152
|
+
display?: DisplayPreferences;
|
|
153
|
+
/** Custom data */
|
|
154
|
+
custom?: Record<string, any>;
|
|
155
|
+
/** Last modified timestamp */
|
|
156
|
+
lastModified?: number;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* User preferences store
|
|
160
|
+
*/
|
|
161
|
+
export interface UserPreferencesStore {
|
|
162
|
+
/** Version for migrations */
|
|
163
|
+
version: number;
|
|
164
|
+
/** Global preferences */
|
|
165
|
+
global: {
|
|
166
|
+
display?: DisplayPreferences;
|
|
167
|
+
layout?: LayoutPreferences;
|
|
168
|
+
custom?: Record<string, any>;
|
|
169
|
+
};
|
|
170
|
+
/** Per-control preferences keyed by control ID */
|
|
171
|
+
controls: Record<string, ControlPreferences>;
|
|
172
|
+
/** Last sync timestamp */
|
|
173
|
+
lastSync?: number;
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Storage adapter interface
|
|
177
|
+
*/
|
|
178
|
+
export interface PreferencesStorageAdapter {
|
|
179
|
+
/** Load preferences */
|
|
180
|
+
load(): Promise<UserPreferencesStore | null>;
|
|
181
|
+
/** Save preferences */
|
|
182
|
+
save(preferences: UserPreferencesStore): Promise<void>;
|
|
183
|
+
/** Clear preferences */
|
|
184
|
+
clear(): Promise<void>;
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Sync adapter interface for backend sync
|
|
188
|
+
*/
|
|
189
|
+
export interface PreferencesSyncAdapter {
|
|
190
|
+
/** Fetch preferences from backend */
|
|
191
|
+
fetch(): Promise<UserPreferencesStore | null>;
|
|
192
|
+
/** Push preferences to backend */
|
|
193
|
+
push(preferences: UserPreferencesStore): Promise<void>;
|
|
194
|
+
/** Get last server timestamp */
|
|
195
|
+
getServerTimestamp(): Promise<number>;
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* LocalStorage adapter
|
|
199
|
+
*/
|
|
200
|
+
export declare class LocalStorageAdapter implements PreferencesStorageAdapter {
|
|
201
|
+
private key;
|
|
202
|
+
constructor(key?: string);
|
|
203
|
+
load(): Promise<UserPreferencesStore | null>;
|
|
204
|
+
save(preferences: UserPreferencesStore): Promise<void>;
|
|
205
|
+
clear(): Promise<void>;
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* IndexedDB adapter for larger datasets
|
|
209
|
+
*/
|
|
210
|
+
export declare class IndexedDBAdapter implements PreferencesStorageAdapter {
|
|
211
|
+
private dbName;
|
|
212
|
+
private storeName;
|
|
213
|
+
private db;
|
|
214
|
+
constructor(dbName?: string, storeName?: string);
|
|
215
|
+
private getDB;
|
|
216
|
+
load(): Promise<UserPreferencesStore | null>;
|
|
217
|
+
save(preferences: UserPreferencesStore): Promise<void>;
|
|
218
|
+
clear(): Promise<void>;
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* REST API sync adapter
|
|
222
|
+
*/
|
|
223
|
+
export declare class RestAPISyncAdapter implements PreferencesSyncAdapter {
|
|
224
|
+
private baseUrl;
|
|
225
|
+
private getAuthHeaders?;
|
|
226
|
+
constructor(baseUrl: string, getAuthHeaders?: (() => Record<string, string>) | undefined);
|
|
227
|
+
private getHeaders;
|
|
228
|
+
fetch(): Promise<UserPreferencesStore | null>;
|
|
229
|
+
push(preferences: UserPreferencesStore): Promise<void>;
|
|
230
|
+
getServerTimestamp(): Promise<number>;
|
|
231
|
+
}
|
|
232
|
+
interface UserPreferencesContextValue {
|
|
233
|
+
/** Current preferences store */
|
|
234
|
+
preferences: UserPreferencesStore;
|
|
235
|
+
/** Is loading */
|
|
236
|
+
isLoading: boolean;
|
|
237
|
+
/** Is syncing */
|
|
238
|
+
isSyncing: boolean;
|
|
239
|
+
/** Last error */
|
|
240
|
+
error: Error | null;
|
|
241
|
+
getControlPreferences<T extends keyof ControlPreferences>(controlId: string, type: T): ControlPreferences[T] | undefined;
|
|
242
|
+
setControlPreferences<T extends keyof ControlPreferences>(controlId: string, type: T, prefs: ControlPreferences[T]): void;
|
|
243
|
+
updateControlPreferences<T extends keyof ControlPreferences>(controlId: string, type: T, updates: Partial<NonNullable<ControlPreferences[T]>>): void;
|
|
244
|
+
clearControlPreferences(controlId: string, type?: keyof ControlPreferences): void;
|
|
245
|
+
getGlobalPreferences<T extends 'display' | 'layout' | 'custom'>(type: T): UserPreferencesStore['global'][T];
|
|
246
|
+
setGlobalPreferences<T extends 'display' | 'layout' | 'custom'>(type: T, prefs: UserPreferencesStore['global'][T]): void;
|
|
247
|
+
sync(): Promise<void>;
|
|
248
|
+
exportPreferences(): string;
|
|
249
|
+
importPreferences(json: string): void;
|
|
250
|
+
resetAllPreferences(): void;
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Hook to access user preferences
|
|
254
|
+
*/
|
|
255
|
+
export declare function useUserPreferences(): UserPreferencesContextValue;
|
|
256
|
+
/**
|
|
257
|
+
* Hook for specific control preferences
|
|
258
|
+
*/
|
|
259
|
+
export declare function useControlPreferences<T extends keyof ControlPreferences>(controlId: string, type: T): [
|
|
260
|
+
ControlPreferences[T] | undefined,
|
|
261
|
+
(prefs: ControlPreferences[T]) => void,
|
|
262
|
+
(updates: Partial<NonNullable<ControlPreferences[T]>>) => void
|
|
263
|
+
];
|
|
264
|
+
/**
|
|
265
|
+
* Hook for grid-specific preferences (convenience)
|
|
266
|
+
*/
|
|
267
|
+
export declare function useGridPreferences(gridId: string): [GridPreferences | undefined, (prefs: GridPreferences | undefined) => void, (updates: Partial<GridPreferences>) => void];
|
|
268
|
+
/**
|
|
269
|
+
* Hook for chart-specific preferences (convenience)
|
|
270
|
+
*/
|
|
271
|
+
export declare function useChartPreferences(chartId: string): [ChartPreferences | undefined, (prefs: ChartPreferences | undefined) => void, (updates: Partial<ChartPreferences>) => void];
|
|
272
|
+
export interface NiceUserPreferencesProviderProps {
|
|
273
|
+
/** Storage adapter */
|
|
274
|
+
storage?: PreferencesStorageAdapter;
|
|
275
|
+
/** Sync adapter for backend sync */
|
|
276
|
+
syncAdapter?: PreferencesSyncAdapter;
|
|
277
|
+
/** Auto-sync interval in ms (0 = disabled) */
|
|
278
|
+
autoSyncInterval?: number;
|
|
279
|
+
/** Debounce save delay in ms */
|
|
280
|
+
saveDebounce?: number;
|
|
281
|
+
/** Children */
|
|
282
|
+
children: React.ReactNode;
|
|
283
|
+
}
|
|
284
|
+
export declare function NiceUserPreferencesProvider({ storage, syncAdapter, autoSyncInterval, saveDebounce, children, }: NiceUserPreferencesProviderProps): JSX.Element;
|
|
285
|
+
export interface NicePreferencesPanelProps {
|
|
286
|
+
/** Show global preferences section */
|
|
287
|
+
showGlobal?: boolean;
|
|
288
|
+
/** Show control preferences section */
|
|
289
|
+
showControls?: boolean;
|
|
290
|
+
/** Show export/import buttons */
|
|
291
|
+
showExportImport?: boolean;
|
|
292
|
+
/** Show sync button */
|
|
293
|
+
showSync?: boolean;
|
|
294
|
+
/** Custom class */
|
|
295
|
+
className?: string;
|
|
296
|
+
/** Style */
|
|
297
|
+
style?: React.CSSProperties;
|
|
298
|
+
}
|
|
299
|
+
/**
|
|
300
|
+
* UI panel for managing user preferences
|
|
301
|
+
*/
|
|
302
|
+
export declare function NicePreferencesPanel({ showGlobal, showControls, showExportImport, showSync, className, style, }: NicePreferencesPanelProps): JSX.Element;
|
|
303
|
+
export {};
|
|
304
|
+
//# sourceMappingURL=NiceUserPreferences.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NiceUserPreferences.d.ts","sourceRoot":"","sources":["../../src/core/NiceUserPreferences.tsx"],"names":[],"mappings":"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"}
|