@fayz-ai/ui 0.12.0 → 0.15.0
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/{ChartWidgetInner-GDE5PBTR.js → ChartWidgetInner-IOLIUYTB.js} +21 -8
- package/dist/ChartWidgetInner-IOLIUYTB.js.map +1 -0
- package/dist/analytics/AnalyticsCard.d.ts.map +1 -1
- package/dist/analytics/AnalyticsControls.d.ts +5 -1
- package/dist/analytics/AnalyticsControls.d.ts.map +1 -1
- package/dist/chunk-3OVZ5JJQ.js +540 -0
- package/dist/chunk-3OVZ5JJQ.js.map +1 -0
- package/dist/{chunk-22EVFMS3.js → chunk-4GK6IHOI.js} +17 -3
- package/dist/chunk-4GK6IHOI.js.map +1 -0
- package/dist/{chunk-7BMXN7MP.js → chunk-5KMAEQA3.js} +25 -24
- package/dist/chunk-5KMAEQA3.js.map +1 -0
- package/dist/chunk-AASANYXN.js +601 -0
- package/dist/chunk-AASANYXN.js.map +1 -0
- package/dist/chunk-FFJ2C5YH.js +92 -0
- package/dist/chunk-FFJ2C5YH.js.map +1 -0
- package/dist/chunk-J7F3Z52K.js +152 -0
- package/dist/chunk-J7F3Z52K.js.map +1 -0
- package/dist/{chunk-JGJNRNQW.js → chunk-KD2V3TAX.js} +290 -67
- package/dist/chunk-KD2V3TAX.js.map +1 -0
- package/dist/{chunk-ZDRHCKRK.js → chunk-NA3GE4H3.js} +746 -533
- package/dist/chunk-NA3GE4H3.js.map +1 -0
- package/dist/{chunk-7BHG3XGJ.js → chunk-SLWTKHNY.js} +296 -269
- package/dist/chunk-SLWTKHNY.js.map +1 -0
- package/dist/dashboard/ChartWidgetInner.d.ts.map +1 -1
- package/dist/dashboard/DashboardCanvas.d.ts.map +1 -1
- package/dist/dashboard/DashboardCustomizeMenu.d.ts.map +1 -1
- package/dist/dashboard/DashboardRange.d.ts +8 -2
- package/dist/dashboard/DashboardRange.d.ts.map +1 -1
- package/dist/dashboard/index.js +4 -4
- package/dist/icons.d.ts.map +1 -1
- package/dist/icons.js +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +86 -99
- package/dist/index.js.map +1 -1
- package/dist/layout/AppShell.d.ts +8 -2
- package/dist/layout/AppShell.d.ts.map +1 -1
- package/dist/layout/ModulePage.d.ts +24 -1
- package/dist/layout/ModulePage.d.ts.map +1 -1
- package/dist/layout/Sidebar.d.ts +27 -4
- package/dist/layout/Sidebar.d.ts.map +1 -1
- package/dist/layout/Topbar.d.ts +10 -3
- package/dist/layout/Topbar.d.ts.map +1 -1
- package/dist/layout/index.d.ts +2 -1
- package/dist/layout/index.d.ts.map +1 -1
- package/dist/layout/index.js +4 -4
- package/dist/layout/rail-flyout.d.ts +10 -0
- package/dist/layout/rail-flyout.d.ts.map +1 -1
- package/dist/primitives/SearchCombobox.d.ts +9 -1
- package/dist/primitives/SearchCombobox.d.ts.map +1 -1
- package/dist/primitives/bulk-action-bar.d.ts +3 -1
- package/dist/primitives/bulk-action-bar.d.ts.map +1 -1
- package/dist/primitives/color-palette.d.ts +24 -0
- package/dist/primitives/color-palette.d.ts.map +1 -0
- package/dist/primitives/header-tabs.d.ts +47 -7
- package/dist/primitives/header-tabs.d.ts.map +1 -1
- package/dist/primitives/image-drop.d.ts +28 -0
- package/dist/primitives/image-drop.d.ts.map +1 -0
- package/dist/primitives/index.d.ts +9 -3
- package/dist/primitives/index.d.ts.map +1 -1
- package/dist/primitives/index.js +6 -3
- package/dist/primitives/list-view.d.ts +9 -1
- package/dist/primitives/list-view.d.ts.map +1 -1
- package/dist/primitives/option-select.d.ts +46 -0
- package/dist/primitives/option-select.d.ts.map +1 -0
- package/dist/primitives/page-toolbar.d.ts +80 -0
- package/dist/primitives/page-toolbar.d.ts.map +1 -0
- package/dist/primitives/search-select.d.ts +3 -1
- package/dist/primitives/search-select.d.ts.map +1 -1
- package/dist/primitives/sheet.d.ts.map +1 -1
- package/dist/primitives/step-progress.d.ts +20 -0
- package/dist/primitives/step-progress.d.ts.map +1 -0
- package/dist/primitives/tabs.d.ts.map +1 -1
- package/dist/primitives/use-row-selection.d.ts +50 -0
- package/dist/primitives/use-row-selection.d.ts.map +1 -0
- package/dist/stores/index.d.ts +1 -1
- package/dist/stores/index.d.ts.map +1 -1
- package/dist/stores/page-header.store.d.ts +26 -2
- package/dist/stores/page-header.store.d.ts.map +1 -1
- package/dist/styles.css +74 -17
- package/dist/wizard/Wizard.d.ts +38 -0
- package/dist/wizard/Wizard.d.ts.map +1 -0
- package/dist/wizard/WizardField.d.ts +22 -0
- package/dist/wizard/WizardField.d.ts.map +1 -0
- package/dist/wizard/index.d.ts +6 -0
- package/dist/wizard/index.d.ts.map +1 -0
- package/dist/wizard/index.js +5 -0
- package/dist/wizard/index.js.map +1 -0
- package/dist/wizard/logic.d.ts +39 -0
- package/dist/wizard/logic.d.ts.map +1 -0
- package/dist/wizard/types.d.ts +95 -0
- package/dist/wizard/types.d.ts.map +1 -0
- package/dist/wizard/useWizard.d.ts +47 -0
- package/dist/wizard/useWizard.d.ts.map +1 -0
- package/package.json +14 -8
- package/dist/ChartWidgetInner-GDE5PBTR.js.map +0 -1
- package/dist/chunk-22EVFMS3.js.map +0 -1
- package/dist/chunk-7BHG3XGJ.js.map +0 -1
- package/dist/chunk-7BMXN7MP.js.map +0 -1
- package/dist/chunk-JGJNRNQW.js.map +0 -1
- package/dist/chunk-VAKWUUVC.js +0 -425
- package/dist/chunk-VAKWUUVC.js.map +0 -1
- package/dist/chunk-ZBQ772DU.js +0 -17
- package/dist/chunk-ZBQ772DU.js.map +0 -1
- package/dist/chunk-ZDRHCKRK.js.map +0 -1
package/dist/icons.js
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
export { cn } from './lib/cn';
|
|
2
|
-
export { Button, buttonVariants, type ButtonProps, Input, type InputProps, Badge, badgeVariants, type BadgeProps, Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent, Modal, ModalPortal, ModalOverlay, ModalClose, ModalTrigger, ModalContent, ModalHeader, ModalBody, ModalFooter, ModalTitle, ModalDescription, type ModalSize, Dropdown, DropdownTrigger, DropdownContent, DropdownItem, DropdownCheckboxItem, DropdownRadioItem, DropdownLabel, DropdownSeparator, DropdownShortcut, DropdownGroup, DropdownPortal, DropdownSub, DropdownSubContent, DropdownSubTrigger, DropdownRadioGroup, DataTable, type DataTableProps, Checkbox, type CheckboxColor, type CheckboxProps, Sheet, SheetPortal, SheetOverlay, SheetTrigger, SheetClose, SheetContent, SheetHeader, SheetBody, SheetFooter, SheetTitle, SheetDescription, Select, SelectGroup, SelectValue, SelectTrigger, SelectContent, SelectLabel, SelectItem, SelectSeparator, SelectScrollUpButton, SelectScrollDownButton, ToastProvider, toast, Tabs, TabsList, TabsTrigger, TabsContent, Separator, PhoneLink, normalizePhone, type PhoneLinkProps, type NormalizedPhone, Breadcrumb, Tooltip, TooltipTrigger, TooltipContent, TooltipProvider, PageHeader, PageHeaderCrumb, type PageHeaderProps, SearchField, ChevronPager, BulkActionBar, type BulkAction, type BulkActionBarProps, Thumbnail, type ThumbnailProps, type ThumbnailSize, PhoneField, formatPhone, type PhoneFieldProps, type SearchFieldProps, type ChevronPagerProps, StatTiles, type StatTilesProps, type StatTileData, Switch, type SwitchProps, Hint, type HintProps, TimePicker, Skeleton, TableSkeleton, ListView, DatePicker, SearchSelect, type SearchSelectOption, type SearchSelectProps, CurrencyInput, ConfirmDialog, Popover, PopoverTrigger, PopoverContent, SegmentedControl, type SegmentedControlProps, type SegmentedOption, HeaderTabs, type HeaderTabsProps, type HeaderTab, FilterChip, type FilterChipProps, type FilterChipOption, Markdown, renderMarkdown, type MarkdownProps, MarkdownEditor, type MarkdownEditorProps, SearchCombobox, type ComboboxOption, RefreshButton, type RefreshButtonProps, } from './primitives';
|
|
3
|
-
export {
|
|
4
|
-
export {
|
|
2
|
+
export { Button, buttonVariants, type ButtonProps, Input, type InputProps, Badge, badgeVariants, type BadgeProps, Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent, Modal, ModalPortal, ModalOverlay, ModalClose, ModalTrigger, ModalContent, ModalHeader, ModalBody, ModalFooter, ModalTitle, ModalDescription, type ModalSize, Dropdown, DropdownTrigger, DropdownContent, DropdownItem, DropdownCheckboxItem, DropdownRadioItem, DropdownLabel, DropdownSeparator, DropdownShortcut, DropdownGroup, DropdownPortal, DropdownSub, DropdownSubContent, DropdownSubTrigger, DropdownRadioGroup, DataTable, type DataTableProps, Checkbox, type CheckboxColor, type CheckboxProps, Sheet, SheetPortal, SheetOverlay, SheetTrigger, SheetClose, SheetContent, SheetHeader, SheetBody, SheetFooter, SheetTitle, SheetDescription, Select, SelectGroup, SelectValue, SelectTrigger, SelectContent, SelectLabel, SelectItem, SelectSeparator, SelectScrollUpButton, SelectScrollDownButton, ToastProvider, toast, Tabs, TabsList, TabsTrigger, TabsContent, Separator, PhoneLink, normalizePhone, type PhoneLinkProps, type NormalizedPhone, Breadcrumb, Tooltip, TooltipTrigger, TooltipContent, TooltipProvider, PageHeader, PageHeaderCrumb, type PageHeaderProps, SearchField, ChevronPager, BulkActionBar, type BulkAction, type BulkActionBarProps, Thumbnail, type ThumbnailProps, type ThumbnailSize, PhoneField, formatPhone, type PhoneFieldProps, type SearchFieldProps, type ChevronPagerProps, StatTiles, type StatTilesProps, type StatTileData, Switch, type SwitchProps, Hint, type HintProps, TimePicker, Skeleton, TableSkeleton, ListView, type ListViewProps, useRowSelection, type RowBulkAction, type RowSelection, type UseRowSelectionOptions, DatePicker, SearchSelect, type SearchSelectOption, type SearchSelectProps, CurrencyInput, ConfirmDialog, Popover, PopoverTrigger, PopoverAnchor, PopoverContent, SegmentedControl, type SegmentedControlProps, type SegmentedOption, HeaderTabs, PageTabs, PageToolbar, RangeControl, ToolbarButton, ToolbarAction, type PageToolbarProps, type RangeControlProps, type RangeOption, type HeaderTabsProps, type PageTabsProps, type HeaderTab, FilterChip, type FilterChipProps, type FilterChipOption, Markdown, renderMarkdown, type MarkdownProps, MarkdownEditor, type MarkdownEditorProps, SearchCombobox, type ComboboxOption, RefreshButton, type RefreshButtonProps, StepProgress, type StepProgressProps, OptionCards, OptionChips, type OptionCardsProps, type OptionChipsProps, type SelectableOption, ImageDrop, type ImageDropProps, } from './primitives';
|
|
3
|
+
export { Wizard, type WizardProps, type WizardLabels, WizardField, type WizardFieldProps, useWizard, type UseWizardOptions, type UseWizardResult, type WizardFieldDef, type WizardFieldKind, type WizardMedia, type WizardRenderContext, type WizardStepDef, type WizardValues, } from './wizard';
|
|
4
|
+
export { AppShell, type AppShellProps, type AppShellUser, AppShellSkeleton, type AppShellSkeletonProps, type BottomNavItem, type BottomNavRouteItem, type BottomNavActionItem, type MobileHeaderVariant, Sidebar, type SidebarProps, type SidebarUser, type NavigationItem, ICON_MAP, Topbar, type TopbarProps, ModulePage, SubpageHeader, ContentSplit, ContentSplitTrigger, ModuleLayoutProvider, useModuleLayout, PageHeaderActions, PageRail, RailNavItem, useRailRow, type RailFlyoutContent, BackStyleProvider, useBackStyle, PageTrail, usePageTrail, usePageTrailParent, navigateToCrumb, type PageTrailCrumb, SaveBar, SaveBarProvider, useSaveBar, useBackHandler, type SaveBarRegistration, useModuleHeaderSlot, useModuleHeaderActionsSlot, PageTransition, NavTransitionProvider, useNavTransition, type NavTransition, type ModulePageProps, type ModuleNavItem, type ModuleNavVariant, type SubpageHeaderProps, type ContentSplitProps, type ContentSplitTriggerProps, type BackButtonStyle, } from './layout';
|
|
5
|
+
export { useLayoutStore, usePageHeader, usePageHeaderSlot, usePageHeaderHost, useHasPageHeaderHost, useHasPageHeaderBack, useHasPageHeaderOutlet, PageHeaderOutlet, useRegisterPageActions, useHasPageActions, useThemeStore, lightTheme, darkTheme, type ThemeTokens, type SemanticColors, type UIPerceptionTokens, type CreateThemeOptions, } from './stores';
|
|
5
6
|
export { ThemeProvider, useTheme, createTheme, createFayzTheme, fayzThemePresets, type ThemeProviderProps, type FayzThemePresetId, } from './theme';
|
|
6
7
|
export { Avatar, AvatarImage, AvatarFallback } from './primitives/Avatar';
|
|
7
8
|
export { DashboardCanvas, WidgetGrid, DashboardNavigateProvider, useDashboardNavigate, type DashboardCanvasProps, resolveDashboardLayout, type LaidOutWidget, useDashboardPreferences, type DashboardPreferencesState, DashboardCustomizeMenu, type DashboardCustomizeMenuProps, DashboardGrid, type DashboardGridItem, type DashboardGridProps, GoldCard, type GoldCardProps, DashboardRangeProvider, DashboardRangeControl, useDashboardRange, DEFAULT_RANGE_OPTIONS, type DashboardRange, type DashboardRangeProviderProps, type DashboardRangeOptions, KpiCard, formatKpiValue, type KpiCardProps, ChartWidget, type ChartWidgetProps, TableWidget, type TableWidgetProps, OnboardingWidget, type OnboardingStepInput, type OnboardingWidgetProps, SidebarOnboarding, type SidebarOnboardingProps, useOnboardingProgress, type OnboardingProgress, renderIcon, defineKpiWidget, defineChartWidget, defineTableWidget, defineOnboardingWidget, defineCustomWidget, type DefineWidgetInput, type KpiFormat, type KpiTrend, type KpiValue, type KpiCurrency, type IconRef, type ChartType, type ChartSeries, } from './dashboard';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,UAAU,CAAA;AAG7B,OAAO,EACL,MAAM,EACN,cAAc,EACd,KAAK,WAAW,EAChB,KAAK,EACL,KAAK,UAAU,EACf,KAAK,EACL,aAAa,EACb,KAAK,UAAU,EACf,IAAI,EACJ,UAAU,EACV,UAAU,EACV,SAAS,EACT,eAAe,EACf,WAAW,EACX,KAAK,EACL,WAAW,EACX,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,SAAS,EACT,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,KAAK,SAAS,EACd,QAAQ,EACR,eAAe,EACf,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,SAAS,EACT,KAAK,cAAc,EACnB,QAAQ,EACR,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,EACL,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,WAAW,EACX,SAAS,EACT,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,MAAM,EACN,WAAW,EACX,WAAW,EACX,aAAa,EACb,aAAa,EACb,WAAW,EACX,UAAU,EACV,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACtB,aAAa,EACb,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,WAAW,EACX,WAAW,EACX,SAAS,EACT,SAAS,EACT,cAAc,EACd,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,UAAU,EACV,OAAO,EACP,cAAc,EACd,cAAc,EACd,eAAe,EACf,UAAU,EACV,eAAe,EACf,KAAK,eAAe,EACpB,WAAW,EACX,YAAY,EACZ,aAAa,EACb,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,SAAS,EACT,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,UAAU,EACV,WAAW,EACX,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,SAAS,EACT,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,MAAM,EACN,KAAK,WAAW,EAChB,IAAI,EACJ,KAAK,SAAS,EACd,UAAU,EACV,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,aAAa,EACb,aAAa,EACb,OAAO,EACP,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,UAAU,EACV,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,UAAU,EACV,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,QAAQ,EACR,cAAc,EACd,KAAK,aAAa,EAClB,cAAc,EACd,KAAK,mBAAmB,EACxB,cAAc,EACd,KAAK,cAAc,EACnB,aAAa,EACb,KAAK,kBAAkB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,20 +1,22 @@
|
|
|
1
|
-
import { Popover, PopoverTrigger, PopoverContent, Input, Hint, DatePicker } from './chunk-
|
|
2
|
-
export { Badge, Breadcrumb, BulkActionBar, ChevronPager,
|
|
3
|
-
export {
|
|
4
|
-
export { HeaderTabs, PageHeader, PageHeaderCrumb,
|
|
1
|
+
import { Popover, PopoverTrigger, PopoverContent, Input, Hint, DatePicker } from './chunk-SLWTKHNY.js';
|
|
2
|
+
export { Badge, Breadcrumb, BulkActionBar, ChevronPager, CurrencyInput, DatePicker, FilterChip, Hint, Input, ListView, Markdown, MarkdownEditor, Modal, ModalBody, ModalClose, ModalContent, ModalDescription, ModalFooter, ModalHeader, ModalOverlay, ModalPortal, ModalTitle, ModalTrigger, PhoneField, PhoneLink, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, RefreshButton, SearchCombobox, SearchField, SearchSelect, SegmentedControl, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, StatTiles, Tabs, TabsContent, TabsList, TabsTrigger, Thumbnail, TimePicker, ToastProvider, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, badgeVariants, formatPhone, normalizePhone, renderMarkdown, toast, useRowSelection } from './chunk-SLWTKHNY.js';
|
|
3
|
+
export { AppShellSkeleton, ContentSplit, ContentSplitTrigger, PageTrail, navigateToCrumb, usePageTrail, usePageTrailParent } from './chunk-J7F3Z52K.js';
|
|
4
|
+
export { AppShell, BackStyleProvider, HeaderTabs, ModuleLayoutProvider, ModulePage, NavTransitionProvider, PageHeader, PageHeaderActions, PageHeaderCrumb, PageRail, PageTabs, PageTransition, RailNavItem, SaveBar, SaveBarProvider, Sheet, SheetBody, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Sidebar, SubpageHeader, Topbar, useBackHandler, useBackStyle, useModuleHeaderActionsSlot, useModuleHeaderSlot, useModuleLayout, useNavTransition, useRailRow, useSaveBar } from './chunk-NA3GE4H3.js';
|
|
5
5
|
export { ThemeProvider, createFayzTheme, createTheme, darkTheme, fayzThemePresets, lightTheme, useTheme, useThemeStore } from './chunk-VDAYIQX4.js';
|
|
6
|
-
import { ChartWidget, Sparkline, DashboardGrid } from './chunk-
|
|
7
|
-
export { ChartWidget, DEFAULT_RANGE_OPTIONS, DashboardCanvas, DashboardCustomizeMenu, DashboardGrid, DashboardNavigateProvider, DashboardRangeControl, DashboardRangeProvider, GoldCard, KpiCard, OnboardingWidget, SidebarOnboarding, TableWidget, WidgetGrid, defineChartWidget, defineCustomWidget, defineKpiWidget, defineOnboardingWidget, defineTableWidget, formatKpiValue, renderIcon, resolveDashboardLayout, useDashboardNavigate, useDashboardPreferences, useDashboardRange, useOnboardingProgress } from './chunk-
|
|
8
|
-
import { Skeleton, Dropdown, DropdownTrigger, DropdownContent, DropdownItem, Card, CardContent, DropdownSeparator } from './chunk-
|
|
9
|
-
export { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, DataTable, Dropdown, DropdownCheckboxItem, DropdownContent, DropdownGroup, DropdownItem, DropdownLabel, DropdownPortal, DropdownRadioGroup, DropdownRadioItem, DropdownSeparator, DropdownShortcut, DropdownSub, DropdownSubContent, DropdownSubTrigger, DropdownTrigger,
|
|
10
|
-
export { useLayoutStore } from './chunk-
|
|
6
|
+
import { ChartWidget, Sparkline, DashboardGrid } from './chunk-5KMAEQA3.js';
|
|
7
|
+
export { ChartWidget, DEFAULT_RANGE_OPTIONS, DashboardCanvas, DashboardCustomizeMenu, DashboardGrid, DashboardNavigateProvider, DashboardRangeControl, DashboardRangeProvider, GoldCard, KpiCard, OnboardingWidget, SidebarOnboarding, TableWidget, WidgetGrid, defineChartWidget, defineCustomWidget, defineKpiWidget, defineOnboardingWidget, defineTableWidget, formatKpiValue, renderIcon, resolveDashboardLayout, useDashboardNavigate, useDashboardPreferences, useDashboardRange, useOnboardingProgress } from './chunk-5KMAEQA3.js';
|
|
8
|
+
import { Skeleton, ToolbarButton, PageToolbar, Dropdown, DropdownTrigger, DropdownContent, DropdownItem, Card, CardContent, RangeControl, DropdownSeparator } from './chunk-KD2V3TAX.js';
|
|
9
|
+
export { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, DataTable, Dropdown, DropdownCheckboxItem, DropdownContent, DropdownGroup, DropdownItem, DropdownLabel, DropdownPortal, DropdownRadioGroup, DropdownRadioItem, DropdownSeparator, DropdownShortcut, DropdownSub, DropdownSubContent, DropdownSubTrigger, DropdownTrigger, PageToolbar, RangeControl, Skeleton, TableSkeleton, ToolbarAction, ToolbarButton } from './chunk-KD2V3TAX.js';
|
|
10
|
+
export { PageHeaderOutlet, useHasPageActions, useHasPageHeaderBack, useHasPageHeaderHost, useHasPageHeaderOutlet, useLayoutStore, usePageHeader, usePageHeaderHost, usePageHeaderSlot, useRegisterPageActions } from './chunk-FFJ2C5YH.js';
|
|
11
|
+
export { Wizard, WizardField, useWizard } from './chunk-AASANYXN.js';
|
|
12
|
+
export { ConfirmDialog, ImageDrop, OptionCards, OptionChips, StepProgress, Switch } from './chunk-3OVZ5JJQ.js';
|
|
11
13
|
import { cn, Button } from './chunk-OKZ6WQB3.js';
|
|
12
14
|
export { Button, buttonVariants, cn } from './chunk-OKZ6WQB3.js';
|
|
13
|
-
export { ICON_MAP, getLucideIcon, registerIcons } from './chunk-
|
|
15
|
+
export { ICON_MAP, getLucideIcon, registerIcons } from './chunk-4GK6IHOI.js';
|
|
14
16
|
import * as React2 from 'react';
|
|
15
17
|
import * as AvatarPrimitive from '@radix-ui/react-avatar';
|
|
16
18
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
17
|
-
import {
|
|
19
|
+
import { Construction, DatabaseZap, AlertCircle, SlidersHorizontal, Search, ChevronRight, GitCompareArrows, Check, X, TrendingUp, TrendingDown, Info, ArrowUpRight } from 'lucide-react';
|
|
18
20
|
import { useTranslation, getCurrentLocale } from '@fayz-ai/core';
|
|
19
21
|
|
|
20
22
|
var Avatar = React2.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
@@ -595,13 +597,17 @@ function BreakdownList({
|
|
|
595
597
|
/* @__PURE__ */ jsx("span", { className: "h-1.5 flex-1 overflow-hidden rounded-full bg-muted", role: "presentation", children: /* @__PURE__ */ jsx(
|
|
596
598
|
"span",
|
|
597
599
|
{
|
|
598
|
-
className: "block h-full rounded-full bg-[hsl(var(--info))]",
|
|
600
|
+
className: "block h-full rounded-full bg-[hsl(var(--chart-1,var(--info)))]",
|
|
599
601
|
style: { width: `${Math.max(item.share * 100, item.value === 0 ? 0 : 2)}%` }
|
|
600
602
|
}
|
|
601
603
|
) }),
|
|
602
604
|
/* @__PURE__ */ jsx("span", { className: "shrink-0 tabular-nums font-medium", children: item.formatted })
|
|
603
605
|
] }, `${item.label}-${i}`)) });
|
|
604
606
|
}
|
|
607
|
+
var VALUE_FORMATS = /* @__PURE__ */ new Set(["number", "currency", "percent", "duration", "date", "text"]);
|
|
608
|
+
function columnFormat(type) {
|
|
609
|
+
return VALUE_FORMATS.has(type) ? type : "text";
|
|
610
|
+
}
|
|
605
611
|
function MiniTable({
|
|
606
612
|
rows,
|
|
607
613
|
card,
|
|
@@ -610,12 +616,18 @@ function MiniTable({
|
|
|
610
616
|
}) {
|
|
611
617
|
const dims = (card.query.dimensions ?? []).filter((d) => !d.hidden);
|
|
612
618
|
const measures = vizMeasures(card);
|
|
613
|
-
const
|
|
619
|
+
const aggregated = [
|
|
614
620
|
...dims.map((d) => ({ key: d.key, label: d.label, format: d.format, align: "left" })),
|
|
615
621
|
...measures.map((m) => ({ key: m.key, label: m.label, format: m.format, align: "right" }))
|
|
616
622
|
];
|
|
623
|
+
const cols = aggregated.length > 0 ? aggregated : (card.columns ?? []).filter((c) => c.visible !== false).map((c) => ({
|
|
624
|
+
key: c.key,
|
|
625
|
+
label: c.label,
|
|
626
|
+
format: columnFormat(c.type),
|
|
627
|
+
align: c.align === "right" ? "right" : "left"
|
|
628
|
+
}));
|
|
617
629
|
const shown = limit ? rows.slice(0, limit) : rows;
|
|
618
|
-
if (shown.length === 0) return /* @__PURE__ */ jsx(EmptyState, {});
|
|
630
|
+
if (shown.length === 0 || cols.length === 0) return /* @__PURE__ */ jsx(EmptyState, {});
|
|
619
631
|
return /* @__PURE__ */ jsx("div", { className: "-mx-1 overflow-x-auto", children: /* @__PURE__ */ jsxs("table", { className: "w-full text-sm", children: [
|
|
620
632
|
/* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsx("tr", { className: "border-b text-xs text-muted-foreground", children: cols.map((c) => /* @__PURE__ */ jsx("th", { className: cn("px-1 pb-2 font-medium", c.align === "right" ? "text-right" : "text-left"), children: c.label }, c.key)) }) }),
|
|
621
633
|
/* @__PURE__ */ jsx("tbody", { children: shown.map((row, i) => /* @__PURE__ */ jsx("tr", { className: "border-b border-border/50 last:border-0", children: cols.map((c) => /* @__PURE__ */ jsx("td", { className: cn("px-1 py-2", c.align === "right" ? "text-right tabular-nums" : "truncate"), children: formatAnalyticsValue(row[c.key], c.format, currency) }, c.key)) }, i)) })
|
|
@@ -672,7 +684,7 @@ function AnalyticsCard({ card, className, hideOpen }) {
|
|
|
672
684
|
Sparkline,
|
|
673
685
|
{
|
|
674
686
|
data: spark,
|
|
675
|
-
color: "hsl(var(--info))",
|
|
687
|
+
color: "hsl(var(--chart-1,var(--info)))",
|
|
676
688
|
width: 120,
|
|
677
689
|
height: 28,
|
|
678
690
|
padding: 2,
|
|
@@ -714,7 +726,7 @@ function AnalyticsCard({ card, className, hideOpen }) {
|
|
|
714
726
|
] })
|
|
715
727
|
] })
|
|
716
728
|
] }),
|
|
717
|
-
/* @__PURE__ */ jsx("span", { className: "block h-1.5 overflow-hidden rounded-full bg-muted", children: /* @__PURE__ */ jsx("span", { className: "block h-full rounded-full bg-[hsl(var(--info))]", style: { width: `${value / first * 100}%` } }) })
|
|
729
|
+
/* @__PURE__ */ jsx("span", { className: "block h-1.5 overflow-hidden rounded-full bg-muted", children: /* @__PURE__ */ jsx("span", { className: "block h-full rounded-full bg-[hsl(var(--chart-1,var(--info)))]", style: { width: `${value / first * 100}%` } }) })
|
|
718
730
|
] }, i);
|
|
719
731
|
}) });
|
|
720
732
|
}
|
|
@@ -784,13 +796,6 @@ var PRESETS = [
|
|
|
784
796
|
"this_year"
|
|
785
797
|
];
|
|
786
798
|
var COMPARE_OPTIONS = ["previous_period", "previous_year", "none"];
|
|
787
|
-
var ControlButton = React2.forwardRef(function ControlButton2({ icon: Icon, children, className, ...props }, ref) {
|
|
788
|
-
return /* @__PURE__ */ jsxs(Button, { ref, variant: "outline", size: "sm", className: cn("gap-1.5", className), ...props, children: [
|
|
789
|
-
Icon ? /* @__PURE__ */ jsx(Icon, { className: "h-3 w-3 shrink-0 opacity-70" }) : null,
|
|
790
|
-
children,
|
|
791
|
-
/* @__PURE__ */ jsx(ChevronDown, { className: "h-3 w-3 shrink-0 opacity-60" })
|
|
792
|
-
] });
|
|
793
|
-
});
|
|
794
799
|
function formatSpan(from, to, locale) {
|
|
795
800
|
const opts = { day: "2-digit", month: "short" };
|
|
796
801
|
const a = parseDay(from);
|
|
@@ -908,8 +913,7 @@ function AnalyticsFilterPicker({ filters }) {
|
|
|
908
913
|
const activeCount = Object.keys(state.filters).length;
|
|
909
914
|
if (filters.length === 0) return null;
|
|
910
915
|
return /* @__PURE__ */ jsxs(Popover, { open, onOpenChange: setOpen, children: [
|
|
911
|
-
/* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(
|
|
912
|
-
/* @__PURE__ */ jsx(SlidersHorizontal, { className: "h-3 w-3 shrink-0 opacity-70" }),
|
|
916
|
+
/* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(ToolbarButton, { icon: SlidersHorizontal, caret: false, children: [
|
|
913
917
|
t("analytics.filters"),
|
|
914
918
|
activeCount > 0 ? /* @__PURE__ */ jsx("span", { className: "ml-0.5 rounded-full bg-primary px-1.5 text-[10px] font-semibold text-primary-foreground", children: activeCount }) : null
|
|
915
919
|
] }) }),
|
|
@@ -985,105 +989,88 @@ function AnalyticsRangeControl() {
|
|
|
985
989
|
const { state, preset, setPreset, setDateRange } = useAnalyticsContext();
|
|
986
990
|
const custom = preset === "custom";
|
|
987
991
|
const span = formatSpan(state.dateRange.from, state.dateRange.to, locale);
|
|
988
|
-
return /* @__PURE__ */
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
preset === p ? /* @__PURE__ */ jsx(Check, { className: "ml-auto h-3.5 w-3.5 shrink-0 pl-1" }) : null
|
|
998
|
-
] }, p)),
|
|
992
|
+
return /* @__PURE__ */ jsx(
|
|
993
|
+
RangeControl,
|
|
994
|
+
{
|
|
995
|
+
options: PRESETS.map((p) => ({ value: p, label: t(`analytics.range.${p}`) })),
|
|
996
|
+
value: preset,
|
|
997
|
+
onChange: (p) => setPreset(p),
|
|
998
|
+
label: custom ? t("analytics.range.custom") : void 0,
|
|
999
|
+
span: custom ? void 0 : span,
|
|
1000
|
+
extra: /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
999
1001
|
/* @__PURE__ */ jsx(DropdownSeparator, {}),
|
|
1000
1002
|
/* @__PURE__ */ jsxs(DropdownItem, { onSelect: () => setDateRange({ ...state.dateRange }), children: [
|
|
1001
1003
|
t("analytics.range.custom"),
|
|
1002
1004
|
custom ? /* @__PURE__ */ jsx(Check, { className: "ml-auto h-3.5 w-3.5 shrink-0 pl-1" }) : null
|
|
1003
1005
|
] })
|
|
1004
|
-
] })
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
}
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
}
|
|
1028
|
-
|
|
1029
|
-
)
|
|
1030
|
-
|
|
1031
|
-
|
|
1006
|
+
] }),
|
|
1007
|
+
children: custom ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
1008
|
+
/* @__PURE__ */ jsx(
|
|
1009
|
+
DatePicker,
|
|
1010
|
+
{
|
|
1011
|
+
variant: "toolbar",
|
|
1012
|
+
value: state.dateRange.from,
|
|
1013
|
+
onChange: (from) => setDateRange({
|
|
1014
|
+
from,
|
|
1015
|
+
to: from > state.dateRange.to ? from : state.dateRange.to
|
|
1016
|
+
})
|
|
1017
|
+
}
|
|
1018
|
+
),
|
|
1019
|
+
/* @__PURE__ */ jsx("span", { className: "text-xs text-muted-foreground", children: "\u2013" }),
|
|
1020
|
+
/* @__PURE__ */ jsx(
|
|
1021
|
+
DatePicker,
|
|
1022
|
+
{
|
|
1023
|
+
variant: "toolbar",
|
|
1024
|
+
value: state.dateRange.to,
|
|
1025
|
+
onChange: (to) => setDateRange({
|
|
1026
|
+
from: to < state.dateRange.from ? to : state.dateRange.from,
|
|
1027
|
+
to
|
|
1028
|
+
})
|
|
1029
|
+
}
|
|
1030
|
+
)
|
|
1031
|
+
] }) : null
|
|
1032
|
+
}
|
|
1033
|
+
);
|
|
1032
1034
|
}
|
|
1033
|
-
function AnalyticsControls({ filters = [], showCompare = true, actions, className }) {
|
|
1035
|
+
function AnalyticsControls({ filters = [], showCompare = true, actions, customize, sticky, className }) {
|
|
1034
1036
|
const t = useTranslation();
|
|
1035
1037
|
const { state, setCompare, refresh } = useAnalyticsContext();
|
|
1036
1038
|
const compare = state.compare ?? "none";
|
|
1037
1039
|
const activeFilters = Object.entries(state.filters);
|
|
1038
1040
|
const filterLabel = (key) => filters.find((f) => f.key === key)?.label ?? key;
|
|
1039
1041
|
return (
|
|
1040
|
-
//
|
|
1041
|
-
//
|
|
1042
|
-
//
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
// has an edge and a shadow is clearly ON TOP of the cards scrolling under
|
|
1046
|
-
// it, where a flat tint just smeared into them.
|
|
1047
|
-
/* @__PURE__ */ jsxs(
|
|
1048
|
-
"div",
|
|
1042
|
+
// Sem cromo próprio: a superfície, o encosto à direita e o comportamento
|
|
1043
|
+
// grudado no topo vêm de PageToolbar — a mesma barra do dashboard. Aqui só
|
|
1044
|
+
// se diz O QUE ela carrega.
|
|
1045
|
+
/* @__PURE__ */ jsx(
|
|
1046
|
+
PageToolbar,
|
|
1049
1047
|
{
|
|
1050
|
-
className
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
),
|
|
1054
|
-
children: [
|
|
1055
|
-
/* @__PURE__ */ jsx(AnalyticsRangeControl, {}),
|
|
1048
|
+
className,
|
|
1049
|
+
sticky,
|
|
1050
|
+
moveLabel: t("analytics.moveBar"),
|
|
1051
|
+
range: /* @__PURE__ */ jsx(AnalyticsRangeControl, {}),
|
|
1052
|
+
filters: /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
1056
1053
|
showCompare ? /* @__PURE__ */ jsxs(Dropdown, { children: [
|
|
1057
1054
|
/* @__PURE__ */ jsx(DropdownTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
|
|
1058
|
-
|
|
1055
|
+
ToolbarButton,
|
|
1059
1056
|
{
|
|
1060
1057
|
icon: GitCompareArrows,
|
|
1061
1058
|
className: compare === "none" ? "text-muted-foreground" : void 0,
|
|
1062
1059
|
children: t(`analytics.compare.${compare}`)
|
|
1063
1060
|
}
|
|
1064
1061
|
) }),
|
|
1065
|
-
/* @__PURE__ */ jsx(DropdownContent, { align: "
|
|
1062
|
+
/* @__PURE__ */ jsx(DropdownContent, { align: "end", className: "w-48", children: COMPARE_OPTIONS.map((c) => /* @__PURE__ */ jsxs(DropdownItem, { onSelect: () => setCompare(c), children: [
|
|
1066
1063
|
t(`analytics.compare.${c}`),
|
|
1067
1064
|
compare === c ? /* @__PURE__ */ jsx(Check, { className: "ml-auto h-3.5 w-3.5 shrink-0 pl-1" }) : null
|
|
1068
1065
|
] }, c)) })
|
|
1069
1066
|
] }) : null,
|
|
1070
|
-
/* @__PURE__ */ jsx(AnalyticsFilterPicker, { filters })
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
variant: "outline",
|
|
1078
|
-
size: "sm",
|
|
1079
|
-
onClick: refresh,
|
|
1080
|
-
"aria-label": t("analytics.refresh"),
|
|
1081
|
-
className: "w-[26px] p-0",
|
|
1082
|
-
children: /* @__PURE__ */ jsx(RefreshCw, { className: "h-3 w-3" })
|
|
1083
|
-
}
|
|
1084
|
-
)
|
|
1085
|
-
] })
|
|
1086
|
-
]
|
|
1067
|
+
/* @__PURE__ */ jsx(AnalyticsFilterPicker, { filters })
|
|
1068
|
+
] }),
|
|
1069
|
+
chips: activeFilters.map(([key, value]) => /* @__PURE__ */ jsx(ActiveFilterChip, { label: filterLabel(key), value, filterKey: key }, key)),
|
|
1070
|
+
customize,
|
|
1071
|
+
actions,
|
|
1072
|
+
onRefresh: refresh,
|
|
1073
|
+
refreshLabel: t("analytics.refresh")
|
|
1087
1074
|
}
|
|
1088
1075
|
)
|
|
1089
1076
|
);
|