@wallarm-org/design-system 0.50.1 → 0.50.2-rc-feature-shell.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/AppShell/story-content/_storyConfigRenderer.d.ts +1 -1
- package/dist/components/AppShell/story-content/_storyConfigRenderer.js +15 -29
- package/dist/components/AppShell/story-content/_storyLib.js +1 -1
- package/dist/components/AppShell/story-content/_storyNavConfigs.d.ts +1 -1
- package/dist/components/AppShell/story-content/_storyNavConfigs.js +5 -0
- package/dist/components/NavPanel/NavPanelHeader.js +1 -1
- package/dist/components/Page/PageContent.js +1 -1
- package/dist/components/Page/PageHeader.js +1 -1
- package/dist/components/{ProductNav → RemoteShell}/HeaderActions.d.ts +1 -1
- package/dist/components/{ProductNav → RemoteShell}/NavItemsList.d.ts +1 -1
- package/dist/components/RemoteShell/NavPanelContent.d.ts +6 -0
- package/dist/components/RemoteShell/NavPanelContent.js +65 -0
- package/dist/components/RemoteShell/RemoteShell.d.ts +7 -0
- package/dist/components/RemoteShell/RemoteShell.js +109 -9
- package/dist/components/RemoteShell/RemoteShellBreadcrumb.js +39 -4
- package/dist/components/RemoteShell/RemoteShellContent.d.ts +1 -0
- package/dist/components/RemoteShell/RemoteShellContent.js +7 -3
- package/dist/components/RemoteShell/RemoteShellPanel.d.ts +4 -2
- package/dist/components/RemoteShell/RemoteShellPanel.js +76 -3
- package/dist/components/RemoteShell/index.d.ts +2 -0
- package/dist/components/RemoteShell/index.js +2 -1
- package/dist/components/{ProductNav/ProductNavContext.d.ts → RemoteShell/model/RemoteShellContext.d.ts} +3 -3
- package/dist/components/RemoteShell/model/RemoteShellContext.js +9 -0
- package/dist/components/RemoteShell/model/index.d.ts +5 -0
- package/dist/components/RemoteShell/model/index.js +5 -0
- package/dist/components/{ProductNav → RemoteShell/model}/matchNav.js +1 -1
- package/dist/components/{ProductNav → RemoteShell/model}/types.d.ts +2 -3
- package/dist/index.d.ts +1 -2
- package/dist/index.js +2 -3
- package/dist/metadata/components.json +35 -303
- package/package.json +1 -1
- package/dist/components/ProductNav/ProductNav.d.ts +0 -13
- package/dist/components/ProductNav/ProductNav.js +0 -109
- package/dist/components/ProductNav/ProductNavBreadcrumbs.d.ts +0 -2
- package/dist/components/ProductNav/ProductNavBreadcrumbs.js +0 -38
- package/dist/components/ProductNav/ProductNavContext.js +0 -9
- package/dist/components/ProductNav/ProductNavPanel.d.ts +0 -6
- package/dist/components/ProductNav/ProductNavPanel.js +0 -107
- package/dist/components/ProductNav/index.d.ts +0 -11
- package/dist/components/ProductNav/index.js +0 -10
- package/dist/components/ProductNav/useProductNav.d.ts +0 -16
- package/dist/components/ProductNav/useProductNav.js +0 -19
- /package/dist/components/{ProductNav → RemoteShell}/HeaderActions.js +0 -0
- /package/dist/components/{ProductNav → RemoteShell}/NavItemsList.js +0 -0
- /package/dist/components/{ProductNav → RemoteShell/model}/matchNav.d.ts +0 -0
- /package/dist/components/{ProductNav → RemoteShell/model}/navUtils.d.ts +0 -0
- /package/dist/components/{ProductNav → RemoteShell/model}/navUtils.js +0 -0
- /package/dist/components/{ProductNav → RemoteShell/model}/types.js +0 -0
- /package/dist/components/{ProductNav → RemoteShell/model}/useDrillTransition.d.ts +0 -0
- /package/dist/components/{ProductNav → RemoteShell/model}/useDrillTransition.js +0 -0
- /package/dist/components/{ProductNav → RemoteShell/model}/useLocationPathname.d.ts +0 -0
- /package/dist/components/{ProductNav → RemoteShell/model}/useLocationPathname.js +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ComponentType } from 'react';
|
|
2
|
-
import type { SvgIconProps } from '
|
|
2
|
+
import type { SvgIconProps } from '../../../icons/SvgIcon';
|
|
3
3
|
export interface NavConfigHeaderAction {
|
|
4
4
|
icon: ComponentType<SvgIconProps>;
|
|
5
5
|
label: string;
|
|
@@ -8,6 +8,7 @@ export interface NavConfigHeaderAction {
|
|
|
8
8
|
}
|
|
9
9
|
export interface NavConfig {
|
|
10
10
|
productLabel: string;
|
|
11
|
+
productPath: string;
|
|
11
12
|
items: NavConfigNode[];
|
|
12
13
|
headerActions?: NavConfigHeaderAction[];
|
|
13
14
|
}
|
|
@@ -35,7 +36,6 @@ export interface NavConfigDrill {
|
|
|
35
36
|
label: string;
|
|
36
37
|
description?: string;
|
|
37
38
|
}[];
|
|
38
|
-
/** Render a visual divider after this item */
|
|
39
39
|
dividerAfter?: boolean;
|
|
40
40
|
}
|
|
41
41
|
export interface NavConfigGroup {
|
|
@@ -45,7 +45,6 @@ export interface NavConfigGroup {
|
|
|
45
45
|
children: NavConfigNode[];
|
|
46
46
|
icon?: ComponentType<SvgIconProps>;
|
|
47
47
|
defaultExpanded?: boolean;
|
|
48
|
-
/** Render a visual divider after this item */
|
|
49
48
|
dividerAfter?: boolean;
|
|
50
49
|
}
|
|
51
50
|
export interface NavConfigSectionHeader {
|
package/dist/index.d.ts
CHANGED
|
@@ -47,10 +47,9 @@ export { OverflowTooltip, OverflowTooltipContent, type OverflowTooltipContentPro
|
|
|
47
47
|
export { Page, PageActions, type PageActionsProps, PageContent, type PageContentProps, PageHeader, type PageHeaderProps, type PageHostContextValue, PageHostProvider, type PageLayoutOptions, type PageProps, PageTitle, type PageTitleProps, usePageHost, } from './components/Page';
|
|
48
48
|
export { type CopyFormatData, formatAsFilter, ParameterPath, type ParameterPathProps, } from './components/ParameterPath';
|
|
49
49
|
export { Popover, PopoverContent, PopoverTrigger } from './components/Popover';
|
|
50
|
-
export { type BreadcrumbSegment, findDrillNode, findFirstLinkPath, type MatchNavResult, matchNav, type NavConfig, type NavConfigDrill, type NavConfigGroup, type NavConfigLink, type NavConfigNode, NavPanelSkeleton, type NavPanelSkeletonProps, type NavStackEntry, ProductNav, ProductNavBreadcrumbs, type ProductNavContextValue, ProductNavPanel, type ProductNavProps, type UseProductNavResult, useProductNav, useProductNavContext, } from './components/ProductNav';
|
|
51
50
|
export { Progress, type ProgressColor, type ProgressProps, } from './components/Progress';
|
|
52
51
|
export { Radio, RadioDescription, type RadioDescriptionProps, RadioGroup, type RadioGroupProps, RadioIndicator, RadioLabel, type RadioLabelProps, type RadioProps, } from './components/Radio';
|
|
53
|
-
export { RemoteShell, RemoteShellBreadcrumb, type RemoteShellBreadcrumbProps, RemoteShellContent, type RemoteShellContentProps, RemoteShellPanel, type RemoteShellPanelProps, type RemoteShellProps, } from './components/RemoteShell';
|
|
52
|
+
export { type BreadcrumbSegment, findFirstLinkPath, type NavConfig, type NavConfigDrill, type NavConfigGroup, type NavConfigLink, type NavConfigNode, type NavStackEntry, pushPathname, RemoteShell, RemoteShellBreadcrumb, type RemoteShellBreadcrumbProps, RemoteShellContent, type RemoteShellContentProps, type RemoteShellContextValue, RemoteShellPanel, type RemoteShellPanelProps, type RemoteShellProps, useLocationPathname, useRemoteShellContext, } from './components/RemoteShell';
|
|
54
53
|
export { getResponseCodeCategory, RESPONSE_CODE_COLOR, ResponseCode, type ResponseCodeCategory, type ResponseCodeProps, } from './components/ResponseCode';
|
|
55
54
|
export { ScrollArea, ScrollAreaContent, type ScrollAreaContentProps, ScrollAreaCorner, type ScrollAreaProps, ScrollAreaScrollbar, type ScrollAreaScrollbarProps, ScrollAreaViewport, type ScrollAreaViewportProps, } from './components/ScrollArea';
|
|
56
55
|
export { SegmentedControl, SegmentedControlButton, type SegmentedControlButtonProps, SegmentedControlItem, type SegmentedControlItemProps, type SegmentedControlProps, SegmentedControlSeparator, type SegmentedControlSeparatorProps, } from './components/SegmentedControl';
|
package/dist/index.js
CHANGED
|
@@ -36,10 +36,9 @@ import { OverflowTooltip, OverflowTooltipContent } from "./components/OverflowTo
|
|
|
36
36
|
import { Page, PageActions, PageContent, PageHeader, PageHostProvider, PageTitle, usePageHost } from "./components/Page/index.js";
|
|
37
37
|
import { ParameterPath, formatAsFilter } from "./components/ParameterPath/index.js";
|
|
38
38
|
import { Popover, PopoverContent, PopoverTrigger } from "./components/Popover/index.js";
|
|
39
|
-
import { NavPanelSkeleton, ProductNav, ProductNavBreadcrumbs, ProductNavPanel, findDrillNode, findFirstLinkPath, matchNav, useProductNav, useProductNavContext } from "./components/ProductNav/index.js";
|
|
40
39
|
import { Progress } from "./components/Progress/index.js";
|
|
41
40
|
import { Radio, RadioDescription, RadioGroup, RadioIndicator, RadioLabel } from "./components/Radio/index.js";
|
|
42
|
-
import { RemoteShell, RemoteShellBreadcrumb, RemoteShellContent, RemoteShellPanel } from "./components/RemoteShell/index.js";
|
|
41
|
+
import { RemoteShell, RemoteShellBreadcrumb, RemoteShellContent, RemoteShellPanel, findFirstLinkPath, pushPathname, useLocationPathname, useRemoteShellContext } from "./components/RemoteShell/index.js";
|
|
43
42
|
import { RESPONSE_CODE_COLOR, ResponseCode, getResponseCodeCategory } from "./components/ResponseCode/index.js";
|
|
44
43
|
import { ScrollArea, ScrollAreaContent, ScrollAreaCorner, ScrollAreaScrollbar, ScrollAreaViewport } from "./components/ScrollArea/index.js";
|
|
45
44
|
import { SegmentedControl, SegmentedControlButton, SegmentedControlItem, SegmentedControlSeparator } from "./components/SegmentedControl/index.js";
|
|
@@ -65,4 +64,4 @@ import { Tooltip, TooltipContent, TooltipTrigger } from "./components/Tooltip/in
|
|
|
65
64
|
import { TopHeader, TopHeaderActions, TopHeaderLogo } from "./components/TopHeader/index.js";
|
|
66
65
|
import { Tour, beaconStepEffect, useTour, waitForStepEvent } from "./components/Tour/index.js";
|
|
67
66
|
import { TestIdProvider, useTestId } from "./utils/testId.js";
|
|
68
|
-
export { Accordion, AccordionActions, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertClose, AlertContent, AlertControls, AlertDescription, AlertIcon, AlertTitle, AppShell, AppShellHeader, AppShellRail, AppShellRemote, Attribute, AttributeActions, AttributeActionsContent, AttributeActionsItem, AttributeActionsTarget, AttributeLabel, AttributeLabelDescription, AttributeLabelInfo, AttributeValue, Badge, Breadcrumbs, BreadcrumbsEllipsis, BreadcrumbsItem, BreadcrumbsScopeSwitcher, BreadcrumbsSeparator, Button, Calendar, CalendarApplyButton, CalendarBody, CalendarContent, CalendarDate, CalendarDateTime, CalendarDayName, CalendarFooter, CalendarFooterControls, CalendarGrid, CalendarGrids, CalendarHeader, CalendarInputHeader, CalendarKeyboardHints, CalendarPresetItem, CalendarPresets, CalendarProvider, CalendarResetButton, CalendarTrigger, Card, CardContent, CardFooter, CardHeader, CardTitle, Checkbox, CheckboxDescription, CheckboxGroup, CheckboxIndicator, CheckboxLabel, Code, Country, CountryFlag, CountryName, DAY_NAMES, DEFAULT_RANGE_PRESETS, DEFAULT_SINGLE_PRESETS, DateFormatProvider, DateInput, DateRangeEndValue, DateRangeInput, DateRangeProvider, DateRangeSeparator, DateRangeStartValue, Drawer, DrawerBody, DrawerClose, DrawerContent, DrawerFooter, DrawerFooterControls, DrawerHeader, DrawerPositioner, DrawerResizeHandle, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuContent, DropdownMenuContextTrigger, DropdownMenuFooter, DropdownMenuGroup, DropdownMenuInput, DropdownMenuItem, DropdownMenuItemContent, DropdownMenuItemDescription, DropdownMenuItemIcon, DropdownMenuItemText, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuTrigger, DropdownMenuTriggerItem, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, FilterInput, FilterInputChip, FilterInputFieldMenu, FilterInputOperatorMenu, Flex, FormatDateTime, HStack, HTTP_METHODS, HTTP_METHOD_COLOR, Heading, HttpMethod, Input, InputGroup, InputGroupAddon, InputGroupText, Ip, IpAddress, IpCountry, IpList, IpPort, IpProvider, Kbd, KbdGroup, Link, Loader, Logo, MONTH_NAMES,
|
|
67
|
+
export { Accordion, AccordionActions, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertClose, AlertContent, AlertControls, AlertDescription, AlertIcon, AlertTitle, AppShell, AppShellHeader, AppShellRail, AppShellRemote, Attribute, AttributeActions, AttributeActionsContent, AttributeActionsItem, AttributeActionsTarget, AttributeLabel, AttributeLabelDescription, AttributeLabelInfo, AttributeValue, Badge, Breadcrumbs, BreadcrumbsEllipsis, BreadcrumbsItem, BreadcrumbsScopeSwitcher, BreadcrumbsSeparator, Button, Calendar, CalendarApplyButton, CalendarBody, CalendarContent, CalendarDate, CalendarDateTime, CalendarDayName, CalendarFooter, CalendarFooterControls, CalendarGrid, CalendarGrids, CalendarHeader, CalendarInputHeader, CalendarKeyboardHints, CalendarPresetItem, CalendarPresets, CalendarProvider, CalendarResetButton, CalendarTrigger, Card, CardContent, CardFooter, CardHeader, CardTitle, Checkbox, CheckboxDescription, CheckboxGroup, CheckboxIndicator, CheckboxLabel, Code, Country, CountryFlag, CountryName, DAY_NAMES, DEFAULT_RANGE_PRESETS, DEFAULT_SINGLE_PRESETS, DateFormatProvider, DateInput, DateRangeEndValue, DateRangeInput, DateRangeProvider, DateRangeSeparator, DateRangeStartValue, Drawer, DrawerBody, DrawerClose, DrawerContent, DrawerFooter, DrawerFooterControls, DrawerHeader, DrawerPositioner, DrawerResizeHandle, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuContent, DropdownMenuContextTrigger, DropdownMenuFooter, DropdownMenuGroup, DropdownMenuInput, DropdownMenuItem, DropdownMenuItemContent, DropdownMenuItemDescription, DropdownMenuItemIcon, DropdownMenuItemText, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuTrigger, DropdownMenuTriggerItem, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, FilterInput, FilterInputChip, FilterInputFieldMenu, FilterInputOperatorMenu, Flex, FormatDateTime, HStack, HTTP_METHODS, HTTP_METHOD_COLOR, Heading, HttpMethod, Input, InputGroup, InputGroupAddon, InputGroupText, Ip, IpAddress, IpCountry, IpList, IpPort, IpProvider, Kbd, KbdGroup, Link, Loader, Logo, MONTH_NAMES, NavRail, NavRailBody, NavRailFooter, NavRailItem, NavRailSeparator, NavRailSkeleton, NumberInput, NumericBadge, OverflowTooltip, OverflowTooltipContent, Page, PageActions, PageContent, PageHeader, PageHostProvider, PageTitle, ParameterPath, Popover, PopoverContent, PopoverTrigger, Progress, RESPONSE_CODE_COLOR, Radio, RadioDescription, RadioGroup, RadioIndicator, RadioLabel, RemoteShell, RemoteShellBreadcrumb, RemoteShellContent, RemoteShellPanel, ResponseCode, ScrollArea, ScrollAreaContent, ScrollAreaCorner, ScrollAreaScrollbar, ScrollAreaViewport, SegmentedControl, SegmentedControlButton, SegmentedControlItem, SegmentedControlSeparator, SegmentedTabs, SegmentedTabsButton, SegmentedTabsContent, SegmentedTabsList, SegmentedTabsSeparator, SegmentedTabsTrigger, SegmentedTabsTriggerButton, Select, SelectButton, SelectClearTrigger, SelectContent, SelectFooter, SelectGroup, SelectGroupLabel, SelectHeader, SelectInput, SelectOption, SelectOptionDescription, SelectOptionIndicator, SelectOptionText, SelectPositioner, SelectSearchInput, SelectSeparator, Selection, SelectionAll, SelectionBulkBar, SelectionItem, Separator, Skeleton, SplashScreen, SplitButton, Stack, Switch, SwitchControl, SwitchDescription, SwitchLabel, Table, TableActionBar, TableEmptyState, TableSettingsMenu, Tabs, TabsButton, TabsContent, TabsLineActions, TabsList, TabsSeparator, TabsTrigger, Tag, TagClose, TestIdProvider, Text, Textarea, ThemeProvider, Time, TimeInput, Toast, ToastActions, Toaster, ToggleButton, Tooltip, TooltipContent, TooltipTrigger, TopHeader, TopHeaderActions, TopHeaderLogo, Tour, VStack, ZonedDateTime, beaconStepEffect, cardVariants, createTableColumnHelper, datacenters, drawerContentVariants, drawerPositionerVariants, findFirstLinkPath, formatAsFilter, getLocalTimeZone, getResponseCodeCategory, parseDate, parseDateTime, parseTime, parseZonedDateTime, proxyTypes, pushPathname, sourceLabels, toaster, today, useCalendarContext, useDateFormat, useDateRangeContext, useDrawerContext, useLocationPathname, usePageHost, useRemoteShellContext, useTestId, useTheme, useTour, waitForStepEvent };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.50.
|
|
3
|
-
"generatedAt": "2026-
|
|
2
|
+
"version": "0.50.1",
|
|
3
|
+
"generatedAt": "2026-06-01T01:08:11.830Z",
|
|
4
4
|
"components": [
|
|
5
5
|
{
|
|
6
6
|
"name": "Accordion",
|
|
@@ -32534,307 +32534,6 @@
|
|
|
32534
32534
|
}
|
|
32535
32535
|
]
|
|
32536
32536
|
},
|
|
32537
|
-
{
|
|
32538
|
-
"name": "ProductNav",
|
|
32539
|
-
"importPath": "@wallarm-org/design-system/ProductNav",
|
|
32540
|
-
"props": [
|
|
32541
|
-
{
|
|
32542
|
-
"name": "config",
|
|
32543
|
-
"type": "NavConfig",
|
|
32544
|
-
"required": true
|
|
32545
|
-
},
|
|
32546
|
-
{
|
|
32547
|
-
"name": "basePath",
|
|
32548
|
-
"type": "string | undefined",
|
|
32549
|
-
"required": false,
|
|
32550
|
-
"description": "URL prefix stripped before matching and prepended when navigating.\n Example: `\"/edge\"` turns URL `/edge/overview` into effective pathname `/overview`."
|
|
32551
|
-
}
|
|
32552
|
-
],
|
|
32553
|
-
"variants": [],
|
|
32554
|
-
"subComponents": [
|
|
32555
|
-
{
|
|
32556
|
-
"name": "NavPanelSkeleton",
|
|
32557
|
-
"props": [
|
|
32558
|
-
{
|
|
32559
|
-
"name": "count",
|
|
32560
|
-
"type": "number | undefined",
|
|
32561
|
-
"required": false
|
|
32562
|
-
},
|
|
32563
|
-
{
|
|
32564
|
-
"name": "defaultChecked",
|
|
32565
|
-
"type": "boolean | undefined",
|
|
32566
|
-
"required": false
|
|
32567
|
-
},
|
|
32568
|
-
{
|
|
32569
|
-
"name": "defaultValue",
|
|
32570
|
-
"type": "string | number | readonly string[] | undefined",
|
|
32571
|
-
"required": false
|
|
32572
|
-
},
|
|
32573
|
-
{
|
|
32574
|
-
"name": "suppressContentEditableWarning",
|
|
32575
|
-
"type": "boolean | undefined",
|
|
32576
|
-
"required": false
|
|
32577
|
-
},
|
|
32578
|
-
{
|
|
32579
|
-
"name": "suppressHydrationWarning",
|
|
32580
|
-
"type": "boolean | undefined",
|
|
32581
|
-
"required": false
|
|
32582
|
-
},
|
|
32583
|
-
{
|
|
32584
|
-
"name": "accessKey",
|
|
32585
|
-
"type": "string | undefined",
|
|
32586
|
-
"required": false
|
|
32587
|
-
},
|
|
32588
|
-
{
|
|
32589
|
-
"name": "autoCapitalize",
|
|
32590
|
-
"type": "\"off\" | \"none\" | \"on\" | \"sentences\" | \"words\" | \"characters\" | (string & {}) | undefined",
|
|
32591
|
-
"required": false
|
|
32592
|
-
},
|
|
32593
|
-
{
|
|
32594
|
-
"name": "autoFocus",
|
|
32595
|
-
"type": "boolean | undefined",
|
|
32596
|
-
"required": false
|
|
32597
|
-
},
|
|
32598
|
-
{
|
|
32599
|
-
"name": "contentEditable",
|
|
32600
|
-
"type": "Booleanish | \"inherit\" | \"plaintext-only\" | undefined",
|
|
32601
|
-
"required": false
|
|
32602
|
-
},
|
|
32603
|
-
{
|
|
32604
|
-
"name": "contextMenu",
|
|
32605
|
-
"type": "string | undefined",
|
|
32606
|
-
"required": false
|
|
32607
|
-
},
|
|
32608
|
-
{
|
|
32609
|
-
"name": "dir",
|
|
32610
|
-
"type": "string | undefined",
|
|
32611
|
-
"required": false
|
|
32612
|
-
},
|
|
32613
|
-
{
|
|
32614
|
-
"name": "draggable",
|
|
32615
|
-
"type": "Booleanish | undefined",
|
|
32616
|
-
"required": false
|
|
32617
|
-
},
|
|
32618
|
-
{
|
|
32619
|
-
"name": "enterKeyHint",
|
|
32620
|
-
"type": "\"enter\" | \"done\" | \"go\" | \"next\" | \"previous\" | \"search\" | \"send\" | undefined",
|
|
32621
|
-
"required": false
|
|
32622
|
-
},
|
|
32623
|
-
{
|
|
32624
|
-
"name": "hidden",
|
|
32625
|
-
"type": "boolean | undefined",
|
|
32626
|
-
"required": false
|
|
32627
|
-
},
|
|
32628
|
-
{
|
|
32629
|
-
"name": "id",
|
|
32630
|
-
"type": "string | undefined",
|
|
32631
|
-
"required": false
|
|
32632
|
-
},
|
|
32633
|
-
{
|
|
32634
|
-
"name": "lang",
|
|
32635
|
-
"type": "string | undefined",
|
|
32636
|
-
"required": false
|
|
32637
|
-
},
|
|
32638
|
-
{
|
|
32639
|
-
"name": "nonce",
|
|
32640
|
-
"type": "string | undefined",
|
|
32641
|
-
"required": false
|
|
32642
|
-
},
|
|
32643
|
-
{
|
|
32644
|
-
"name": "slot",
|
|
32645
|
-
"type": "string | undefined",
|
|
32646
|
-
"required": false
|
|
32647
|
-
},
|
|
32648
|
-
{
|
|
32649
|
-
"name": "spellCheck",
|
|
32650
|
-
"type": "Booleanish | undefined",
|
|
32651
|
-
"required": false
|
|
32652
|
-
},
|
|
32653
|
-
{
|
|
32654
|
-
"name": "tabIndex",
|
|
32655
|
-
"type": "number | undefined",
|
|
32656
|
-
"required": false
|
|
32657
|
-
},
|
|
32658
|
-
{
|
|
32659
|
-
"name": "title",
|
|
32660
|
-
"type": "string | undefined",
|
|
32661
|
-
"required": false
|
|
32662
|
-
},
|
|
32663
|
-
{
|
|
32664
|
-
"name": "translate",
|
|
32665
|
-
"type": "\"yes\" | \"no\" | undefined",
|
|
32666
|
-
"required": false
|
|
32667
|
-
},
|
|
32668
|
-
{
|
|
32669
|
-
"name": "radioGroup",
|
|
32670
|
-
"type": "string | undefined",
|
|
32671
|
-
"required": false
|
|
32672
|
-
},
|
|
32673
|
-
{
|
|
32674
|
-
"name": "role",
|
|
32675
|
-
"type": "AriaRole | undefined",
|
|
32676
|
-
"required": false
|
|
32677
|
-
},
|
|
32678
|
-
{
|
|
32679
|
-
"name": "about",
|
|
32680
|
-
"type": "string | undefined",
|
|
32681
|
-
"required": false
|
|
32682
|
-
},
|
|
32683
|
-
{
|
|
32684
|
-
"name": "content",
|
|
32685
|
-
"type": "string | undefined",
|
|
32686
|
-
"required": false
|
|
32687
|
-
},
|
|
32688
|
-
{
|
|
32689
|
-
"name": "datatype",
|
|
32690
|
-
"type": "string | undefined",
|
|
32691
|
-
"required": false
|
|
32692
|
-
},
|
|
32693
|
-
{
|
|
32694
|
-
"name": "inlist",
|
|
32695
|
-
"type": "any",
|
|
32696
|
-
"required": false
|
|
32697
|
-
},
|
|
32698
|
-
{
|
|
32699
|
-
"name": "prefix",
|
|
32700
|
-
"type": "string | undefined",
|
|
32701
|
-
"required": false
|
|
32702
|
-
},
|
|
32703
|
-
{
|
|
32704
|
-
"name": "property",
|
|
32705
|
-
"type": "string | undefined",
|
|
32706
|
-
"required": false
|
|
32707
|
-
},
|
|
32708
|
-
{
|
|
32709
|
-
"name": "rel",
|
|
32710
|
-
"type": "string | undefined",
|
|
32711
|
-
"required": false
|
|
32712
|
-
},
|
|
32713
|
-
{
|
|
32714
|
-
"name": "resource",
|
|
32715
|
-
"type": "string | undefined",
|
|
32716
|
-
"required": false
|
|
32717
|
-
},
|
|
32718
|
-
{
|
|
32719
|
-
"name": "rev",
|
|
32720
|
-
"type": "string | undefined",
|
|
32721
|
-
"required": false
|
|
32722
|
-
},
|
|
32723
|
-
{
|
|
32724
|
-
"name": "typeof",
|
|
32725
|
-
"type": "string | undefined",
|
|
32726
|
-
"required": false
|
|
32727
|
-
},
|
|
32728
|
-
{
|
|
32729
|
-
"name": "vocab",
|
|
32730
|
-
"type": "string | undefined",
|
|
32731
|
-
"required": false
|
|
32732
|
-
},
|
|
32733
|
-
{
|
|
32734
|
-
"name": "autoCorrect",
|
|
32735
|
-
"type": "string | undefined",
|
|
32736
|
-
"required": false
|
|
32737
|
-
},
|
|
32738
|
-
{
|
|
32739
|
-
"name": "autoSave",
|
|
32740
|
-
"type": "string | undefined",
|
|
32741
|
-
"required": false
|
|
32742
|
-
},
|
|
32743
|
-
{
|
|
32744
|
-
"name": "color",
|
|
32745
|
-
"type": "string | undefined",
|
|
32746
|
-
"required": false
|
|
32747
|
-
},
|
|
32748
|
-
{
|
|
32749
|
-
"name": "itemProp",
|
|
32750
|
-
"type": "string | undefined",
|
|
32751
|
-
"required": false
|
|
32752
|
-
},
|
|
32753
|
-
{
|
|
32754
|
-
"name": "itemScope",
|
|
32755
|
-
"type": "boolean | undefined",
|
|
32756
|
-
"required": false
|
|
32757
|
-
},
|
|
32758
|
-
{
|
|
32759
|
-
"name": "itemType",
|
|
32760
|
-
"type": "string | undefined",
|
|
32761
|
-
"required": false
|
|
32762
|
-
},
|
|
32763
|
-
{
|
|
32764
|
-
"name": "itemID",
|
|
32765
|
-
"type": "string | undefined",
|
|
32766
|
-
"required": false
|
|
32767
|
-
},
|
|
32768
|
-
{
|
|
32769
|
-
"name": "itemRef",
|
|
32770
|
-
"type": "string | undefined",
|
|
32771
|
-
"required": false
|
|
32772
|
-
},
|
|
32773
|
-
{
|
|
32774
|
-
"name": "results",
|
|
32775
|
-
"type": "number | undefined",
|
|
32776
|
-
"required": false
|
|
32777
|
-
},
|
|
32778
|
-
{
|
|
32779
|
-
"name": "security",
|
|
32780
|
-
"type": "string | undefined",
|
|
32781
|
-
"required": false
|
|
32782
|
-
},
|
|
32783
|
-
{
|
|
32784
|
-
"name": "unselectable",
|
|
32785
|
-
"type": "\"off\" | \"on\" | undefined",
|
|
32786
|
-
"required": false
|
|
32787
|
-
},
|
|
32788
|
-
{
|
|
32789
|
-
"name": "popover",
|
|
32790
|
-
"type": "\"\" | \"auto\" | \"manual\" | \"hint\" | undefined",
|
|
32791
|
-
"required": false
|
|
32792
|
-
},
|
|
32793
|
-
{
|
|
32794
|
-
"name": "popoverTargetAction",
|
|
32795
|
-
"type": "\"toggle\" | \"show\" | \"hide\" | undefined",
|
|
32796
|
-
"required": false
|
|
32797
|
-
},
|
|
32798
|
-
{
|
|
32799
|
-
"name": "popoverTarget",
|
|
32800
|
-
"type": "string | undefined",
|
|
32801
|
-
"required": false
|
|
32802
|
-
},
|
|
32803
|
-
{
|
|
32804
|
-
"name": "inert",
|
|
32805
|
-
"type": "boolean | undefined",
|
|
32806
|
-
"required": false,
|
|
32807
|
-
"description": "@see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/inert"
|
|
32808
|
-
},
|
|
32809
|
-
{
|
|
32810
|
-
"name": "inputMode",
|
|
32811
|
-
"type": "\"none\" | \"search\" | \"text\" | \"tel\" | \"url\" | \"email\" | \"numeric\" | \"decimal\" | undefined",
|
|
32812
|
-
"required": false,
|
|
32813
|
-
"description": "Hints at the type of data that might be entered by the user while editing the element or its contents"
|
|
32814
|
-
},
|
|
32815
|
-
{
|
|
32816
|
-
"name": "is",
|
|
32817
|
-
"type": "string | undefined",
|
|
32818
|
-
"required": false,
|
|
32819
|
-
"description": "Specify that a standard HTML element should behave like a defined custom built-in element"
|
|
32820
|
-
},
|
|
32821
|
-
{
|
|
32822
|
-
"name": "exportparts",
|
|
32823
|
-
"type": "string | undefined",
|
|
32824
|
-
"required": false,
|
|
32825
|
-
"description": "@see {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/exportparts}"
|
|
32826
|
-
},
|
|
32827
|
-
{
|
|
32828
|
-
"name": "part",
|
|
32829
|
-
"type": "string | undefined",
|
|
32830
|
-
"required": false,
|
|
32831
|
-
"description": "@see {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/part}"
|
|
32832
|
-
}
|
|
32833
|
-
]
|
|
32834
|
-
}
|
|
32835
|
-
],
|
|
32836
|
-
"examples": []
|
|
32837
|
-
},
|
|
32838
32537
|
{
|
|
32839
32538
|
"name": "Progress",
|
|
32840
32539
|
"importPath": "@wallarm-org/design-system/Progress",
|
|
@@ -34144,6 +33843,18 @@
|
|
|
34144
33843
|
"name": "RemoteShell",
|
|
34145
33844
|
"importPath": "@wallarm-org/design-system/RemoteShell",
|
|
34146
33845
|
"props": [
|
|
33846
|
+
{
|
|
33847
|
+
"name": "config",
|
|
33848
|
+
"type": "NavConfig",
|
|
33849
|
+
"required": true,
|
|
33850
|
+
"description": "Navigation config used to build nav state for sub-components."
|
|
33851
|
+
},
|
|
33852
|
+
{
|
|
33853
|
+
"name": "basePath",
|
|
33854
|
+
"type": "string | undefined",
|
|
33855
|
+
"required": false,
|
|
33856
|
+
"description": "URL prefix stripped before matching and prepended when navigating (e.g. `\"/edge\"`)."
|
|
33857
|
+
},
|
|
34147
33858
|
{
|
|
34148
33859
|
"name": "defaultChecked",
|
|
34149
33860
|
"type": "boolean | undefined",
|
|
@@ -34695,6 +34406,11 @@
|
|
|
34695
34406
|
{
|
|
34696
34407
|
"name": "RemoteShellContent",
|
|
34697
34408
|
"props": [
|
|
34409
|
+
{
|
|
34410
|
+
"name": "isLoading",
|
|
34411
|
+
"type": "boolean | undefined",
|
|
34412
|
+
"required": false
|
|
34413
|
+
},
|
|
34698
34414
|
{
|
|
34699
34415
|
"name": "defaultChecked",
|
|
34700
34416
|
"type": "boolean | undefined",
|
|
@@ -34970,6 +34686,22 @@
|
|
|
34970
34686
|
{
|
|
34971
34687
|
"name": "RemoteShellPanel",
|
|
34972
34688
|
"props": [
|
|
34689
|
+
{
|
|
34690
|
+
"name": "resizable",
|
|
34691
|
+
"type": "boolean | undefined",
|
|
34692
|
+
"required": false
|
|
34693
|
+
},
|
|
34694
|
+
{
|
|
34695
|
+
"name": "isLoading",
|
|
34696
|
+
"type": "boolean | undefined",
|
|
34697
|
+
"required": false
|
|
34698
|
+
},
|
|
34699
|
+
{
|
|
34700
|
+
"name": "loaderCount",
|
|
34701
|
+
"type": "number | undefined",
|
|
34702
|
+
"required": false,
|
|
34703
|
+
"defaultValue": "6"
|
|
34704
|
+
},
|
|
34973
34705
|
{
|
|
34974
34706
|
"name": "defaultChecked",
|
|
34975
34707
|
"type": "boolean | undefined",
|
package/package.json
CHANGED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { type FC, type ReactNode } from 'react';
|
|
2
|
-
import type { NavConfig } from './types';
|
|
3
|
-
export interface ProductNavProps {
|
|
4
|
-
config: NavConfig;
|
|
5
|
-
/** URL prefix stripped before matching and prepended when navigating.
|
|
6
|
-
* Example: `"/edge"` turns URL `/edge/overview` into effective pathname `/overview`. */
|
|
7
|
-
basePath?: string;
|
|
8
|
-
/** Custom navigation handler for router integration (React Router, Next.js, etc.).
|
|
9
|
-
* Default: uses history.pushState to update the URL directly. */
|
|
10
|
-
onNavigate?: (pathname: string) => void;
|
|
11
|
-
children: ReactNode;
|
|
12
|
-
}
|
|
13
|
-
export declare const ProductNav: FC<ProductNavProps>;
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
import { jsx } from "react/jsx-runtime";
|
|
2
|
-
import { useCallback, useEffect, useMemo, useState } from "react";
|
|
3
|
-
import { matchNav } from "./matchNav.js";
|
|
4
|
-
import { findFirstLinkPath } from "./navUtils.js";
|
|
5
|
-
import { ProductNavContextProvider } from "./ProductNavContext.js";
|
|
6
|
-
import { pushPathname, useLocationPathname } from "./useLocationPathname.js";
|
|
7
|
-
const ProductNav = ({ config, basePath, onNavigate, children })=>{
|
|
8
|
-
const fullPathname = useLocationPathname();
|
|
9
|
-
const pathname = basePath && fullPathname.startsWith(basePath) ? fullPathname.slice(basePath.length) || '/' : fullPathname;
|
|
10
|
-
const setPathname = useCallback((next)=>{
|
|
11
|
-
const fullPath = basePath ? `${basePath}${next}` : next;
|
|
12
|
-
if (onNavigate) onNavigate(fullPath);
|
|
13
|
-
else pushPathname(fullPath);
|
|
14
|
-
}, [
|
|
15
|
-
basePath,
|
|
16
|
-
onNavigate
|
|
17
|
-
]);
|
|
18
|
-
const { navStack, breadcrumbSegments, activeItemId } = useMemo(()=>matchNav(pathname, config), [
|
|
19
|
-
pathname,
|
|
20
|
-
config
|
|
21
|
-
]);
|
|
22
|
-
const urlDrillLevel = navStack.length - 1;
|
|
23
|
-
const [visualDrillLevel, setVisualDrillLevel] = useState(null);
|
|
24
|
-
useEffect(()=>{
|
|
25
|
-
setVisualDrillLevel(null);
|
|
26
|
-
}, [
|
|
27
|
-
pathname
|
|
28
|
-
]);
|
|
29
|
-
const effectiveDrillLevel = visualDrillLevel ?? urlDrillLevel;
|
|
30
|
-
const effectiveActiveItemId = effectiveDrillLevel < urlDrillLevel ? navStack[effectiveDrillLevel]?.activeItemId ?? activeItemId : activeItemId;
|
|
31
|
-
const navigate = useCallback((path)=>{
|
|
32
|
-
setVisualDrillLevel(null);
|
|
33
|
-
const segments = pathname.replace(/^\/+|\/+$/g, '').split('/').filter(Boolean);
|
|
34
|
-
const prefixSegments = segments.slice(0, 2 * effectiveDrillLevel);
|
|
35
|
-
setPathname(`/${[
|
|
36
|
-
...prefixSegments,
|
|
37
|
-
path
|
|
38
|
-
].join('/')}`);
|
|
39
|
-
}, [
|
|
40
|
-
effectiveDrillLevel,
|
|
41
|
-
pathname,
|
|
42
|
-
setPathname
|
|
43
|
-
]);
|
|
44
|
-
const drillInto = useCallback((drill)=>{
|
|
45
|
-
setVisualDrillLevel(null);
|
|
46
|
-
const segments = pathname.replace(/^\/+|\/+$/g, '').split('/').filter(Boolean);
|
|
47
|
-
const prefixSegments = segments.slice(0, 2 * effectiveDrillLevel);
|
|
48
|
-
const defaultEntity = drill.entities?.[0]?.id ?? 'default';
|
|
49
|
-
const firstChildPath = findFirstLinkPath(drill.children) ?? '';
|
|
50
|
-
setPathname(`/${[
|
|
51
|
-
...prefixSegments,
|
|
52
|
-
drill.path,
|
|
53
|
-
defaultEntity,
|
|
54
|
-
firstChildPath
|
|
55
|
-
].join('/')}`);
|
|
56
|
-
}, [
|
|
57
|
-
effectiveDrillLevel,
|
|
58
|
-
pathname,
|
|
59
|
-
setPathname
|
|
60
|
-
]);
|
|
61
|
-
const goBack = useCallback(()=>{
|
|
62
|
-
setVisualDrillLevel((prev)=>{
|
|
63
|
-
const current = prev ?? urlDrillLevel;
|
|
64
|
-
return Math.max(current - 1, 0);
|
|
65
|
-
});
|
|
66
|
-
}, [
|
|
67
|
-
urlDrillLevel
|
|
68
|
-
]);
|
|
69
|
-
const navigateTo = useCallback((href)=>{
|
|
70
|
-
setVisualDrillLevel(null);
|
|
71
|
-
if ('/' === href) {
|
|
72
|
-
const firstPath = findFirstLinkPath(config.items) ?? '';
|
|
73
|
-
setPathname(`/${firstPath}`);
|
|
74
|
-
} else setPathname(href);
|
|
75
|
-
}, [
|
|
76
|
-
config.items,
|
|
77
|
-
setPathname
|
|
78
|
-
]);
|
|
79
|
-
const navCtxValue = useMemo(()=>({
|
|
80
|
-
config,
|
|
81
|
-
pathname,
|
|
82
|
-
navStack,
|
|
83
|
-
breadcrumbSegments,
|
|
84
|
-
activeItemId,
|
|
85
|
-
drillLevel: effectiveDrillLevel,
|
|
86
|
-
effectiveActiveItemId,
|
|
87
|
-
navigate,
|
|
88
|
-
drillInto,
|
|
89
|
-
goBack,
|
|
90
|
-
navigateTo
|
|
91
|
-
}), [
|
|
92
|
-
config,
|
|
93
|
-
pathname,
|
|
94
|
-
navStack,
|
|
95
|
-
breadcrumbSegments,
|
|
96
|
-
activeItemId,
|
|
97
|
-
effectiveDrillLevel,
|
|
98
|
-
effectiveActiveItemId,
|
|
99
|
-
navigate,
|
|
100
|
-
drillInto,
|
|
101
|
-
goBack,
|
|
102
|
-
navigateTo
|
|
103
|
-
]);
|
|
104
|
-
return /*#__PURE__*/ jsx(ProductNavContextProvider, {
|
|
105
|
-
value: navCtxValue,
|
|
106
|
-
children: children
|
|
107
|
-
});
|
|
108
|
-
};
|
|
109
|
-
export { ProductNav };
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { jsx } from "react/jsx-runtime";
|
|
2
|
-
import { Breadcrumbs, BreadcrumbsItem, BreadcrumbsScopeSwitcher } from "../Breadcrumbs/index.js";
|
|
3
|
-
import { useProductNavContext } from "./ProductNavContext.js";
|
|
4
|
-
const ProductNavBreadcrumbs = ()=>{
|
|
5
|
-
const { breadcrumbSegments, navigateTo } = useProductNavContext();
|
|
6
|
-
return /*#__PURE__*/ jsx(Breadcrumbs, {
|
|
7
|
-
"data-slot": "nav-breadcrumbs",
|
|
8
|
-
children: breadcrumbSegments.map((segment, i)=>{
|
|
9
|
-
const isLast = i === breadcrumbSegments.length - 1;
|
|
10
|
-
if ('scope-switcher' === segment.type) {
|
|
11
|
-
if (segment.scopeItems?.length && segment.paramValue) return /*#__PURE__*/ jsx(BreadcrumbsScopeSwitcher, {
|
|
12
|
-
value: segment.paramValue,
|
|
13
|
-
items: segment.scopeItems,
|
|
14
|
-
onSelect: (item)=>navigateTo?.(item.href),
|
|
15
|
-
children: segment.label
|
|
16
|
-
}, i);
|
|
17
|
-
return /*#__PURE__*/ jsx(BreadcrumbsItem, {
|
|
18
|
-
children: segment.label
|
|
19
|
-
}, i);
|
|
20
|
-
}
|
|
21
|
-
if ('link' === segment.type && !isLast) return /*#__PURE__*/ jsx(BreadcrumbsItem, {
|
|
22
|
-
href: segment.href,
|
|
23
|
-
onClick: (e)=>{
|
|
24
|
-
if (navigateTo && segment.href) {
|
|
25
|
-
e.preventDefault();
|
|
26
|
-
navigateTo(segment.href);
|
|
27
|
-
}
|
|
28
|
-
},
|
|
29
|
-
children: segment.label
|
|
30
|
-
}, i);
|
|
31
|
-
return /*#__PURE__*/ jsx(BreadcrumbsItem, {
|
|
32
|
-
children: segment.label
|
|
33
|
-
}, i);
|
|
34
|
-
})
|
|
35
|
-
});
|
|
36
|
-
};
|
|
37
|
-
ProductNavBreadcrumbs.displayName = 'ProductNavBreadcrumbs';
|
|
38
|
-
export { ProductNavBreadcrumbs };
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { createContext, useContext } from "react";
|
|
2
|
-
const ProductNavCtx = createContext(null);
|
|
3
|
-
const ProductNavContextProvider = ProductNavCtx.Provider;
|
|
4
|
-
function useProductNavContext() {
|
|
5
|
-
const ctx = useContext(ProductNavCtx);
|
|
6
|
-
if (!ctx) throw new Error('useProductNavContext must be used within a ProductNav provider');
|
|
7
|
-
return ctx;
|
|
8
|
-
}
|
|
9
|
-
export { ProductNavContextProvider, useProductNavContext };
|