@multiplatform.one/components 7.79.0 → 7.80.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/cjs/appShell/AppShell.cjs +432 -0
- package/dist/cjs/appShell/AppShell.native.js +499 -0
- package/dist/cjs/appShell/AppShell.native.js.map +1 -0
- package/dist/cjs/appShell/index.cjs +1 -0
- package/dist/cjs/appShell/index.native.js +1 -0
- package/dist/cjs/appShell/index.native.js.map +1 -1
- package/dist/cjs/layouts/page.cjs +3 -0
- package/dist/cjs/layouts/page.native.js +3 -0
- package/dist/cjs/layouts/page.native.js.map +1 -1
- package/dist/cjs/layouts/screenScroll.cjs +55 -0
- package/dist/cjs/layouts/screenScroll.native.js +59 -0
- package/dist/cjs/layouts/screenScroll.native.js.map +1 -1
- package/dist/cjs/layouts/sidebar.cjs +46 -9
- package/dist/cjs/layouts/sidebar.native.js +49 -9
- package/dist/cjs/layouts/sidebar.native.js.map +1 -1
- package/dist/esm/Accordion/index.native.js.map +1 -1
- package/dist/esm/AnimateHeight/index.native.js.map +1 -1
- package/dist/esm/Avatar/getInitials.native.js.map +1 -1
- package/dist/esm/Avatar/index.native.js.map +1 -1
- package/dist/esm/Badge/index.native.js.map +1 -1
- package/dist/esm/Button.native.js.map +1 -1
- package/dist/esm/Carousel/index.native.js.map +1 -1
- package/dist/esm/Chip/index.native.js.map +1 -1
- package/dist/esm/Collapsible.native.js.map +1 -1
- package/dist/esm/ContextMenu/index.native.js.map +1 -1
- package/dist/esm/CopyField/CopyMenuButton.native.js.map +1 -1
- package/dist/esm/CopyField/index.native.js.map +1 -1
- package/dist/esm/Dialog.native.js.map +1 -1
- package/dist/esm/Diff/diff.native.js.map +1 -1
- package/dist/esm/Diff/index.native.js.map +1 -1
- package/dist/esm/DotIndicator/index.native.js.map +1 -1
- package/dist/esm/DropdownMenu/index.native.js.map +1 -1
- package/dist/esm/DropdownMenu/menuSettle.native.js.map +1 -1
- package/dist/esm/ElapsedProgress/index.native.js.map +1 -1
- package/dist/esm/ErrorBoundary/index.native.js.map +1 -1
- package/dist/esm/Heading.native.js.map +1 -1
- package/dist/esm/Kbd/index.native.js.map +1 -1
- package/dist/esm/Kbd/keys.native.js.map +1 -1
- package/dist/esm/Lightbox/MediaControl.native.js.map +1 -1
- package/dist/esm/Lightbox/index.gnome.native.js.map +1 -1
- package/dist/esm/Lightbox/shared.native.js.map +1 -1
- package/dist/esm/Lightbox/useLightbox.native.js.map +1 -1
- package/dist/esm/MachineLiteral/index.native.js.map +1 -1
- package/dist/esm/Material/index.native.js.map +1 -1
- package/dist/esm/Meter/index.native.js.map +1 -1
- package/dist/esm/Meter/meter.native.js.map +1 -1
- package/dist/esm/OverflowRow/index.native.js.map +1 -1
- package/dist/esm/Pagination.native.js.map +1 -1
- package/dist/esm/Popover.native.js.map +1 -1
- package/dist/esm/ProgressSteps/index.native.js.map +1 -1
- package/dist/esm/Quote/index.native.js.map +1 -1
- package/dist/esm/SchemeToggle/index.native.js.map +1 -1
- package/dist/esm/ScrollView/revealFocusedField.native.js.map +1 -1
- package/dist/esm/Separator/index.native.js.map +1 -1
- package/dist/esm/Sheet.native.js.map +1 -1
- package/dist/esm/SheetModal/SheetHeader.native.js.map +1 -1
- package/dist/esm/SheetModal/SheetNavigation.native.js.map +1 -1
- package/dist/esm/SheetModal/detents.native.js.map +1 -1
- package/dist/esm/SheetModal/useSheetFrameFocus.native.js.map +1 -1
- package/dist/esm/Skeleton/index.native.js.map +1 -1
- package/dist/esm/SkipLink/index.native.js.map +1 -1
- package/dist/esm/SortableList/SortableHandle.native.js.map +1 -1
- package/dist/esm/SortableList/index.native.js.map +1 -1
- package/dist/esm/SortableList/useSortableRows.native.js.map +1 -1
- package/dist/esm/SortableList/useUserOrder.native.js.map +1 -1
- package/dist/esm/Tabs/index.native.js.map +1 -1
- package/dist/esm/Text.native.js.map +1 -1
- package/dist/esm/ThemePresetPicker/index.native.js.map +1 -1
- package/dist/esm/Toast/index.native.js.map +1 -1
- package/dist/esm/Toast/store.native.js.map +1 -1
- package/dist/esm/Tooltip/nativePress.native.js.map +1 -1
- package/dist/esm/Tooltip/tooltipShared.native.js.map +1 -1
- package/dist/esm/TreeSelect/index.native.js.map +1 -1
- package/dist/esm/TreeSelect/treeSelectModel.native.js.map +1 -1
- package/dist/esm/Video/PlayerChrome.native.js.map +1 -1
- package/dist/esm/Video/VideoFrame.native.js.map +1 -1
- package/dist/esm/Video/types.native.js.map +1 -1
- package/dist/esm/Wheel/index.native.js.map +1 -1
- package/dist/esm/Wizard/index.native.js.map +1 -1
- package/dist/esm/actions/ActionBar.native.js.map +1 -1
- package/dist/esm/actions/DangerSection.native.js.map +1 -1
- package/dist/esm/actions/DestructiveAction.native.js.map +1 -1
- package/dist/esm/actions/HeaderActions.native.js.map +1 -1
- package/dist/esm/actions/StandardAction.native.js.map +1 -1
- package/dist/esm/actions/devWarn.native.js.map +1 -1
- package/dist/esm/actions/index.native.js.map +1 -1
- package/dist/esm/actions/severity.native.js.map +1 -1
- package/dist/esm/appShell/AppShell.mjs +406 -0
- package/dist/esm/appShell/AppShell.mjs.map +1 -0
- package/dist/esm/appShell/AppShell.native.js +470 -0
- package/dist/esm/appShell/AppShell.native.js.map +1 -0
- package/dist/esm/appShell/Dock.native.js.map +1 -1
- package/dist/esm/appShell/MpoTabHost.native.js.map +1 -1
- package/dist/esm/appShell/ScopeMenu.native.js.map +1 -1
- package/dist/esm/appShell/SettingsSplit.native.js.map +1 -1
- package/dist/esm/appShell/Springboard.native.js.map +1 -1
- package/dist/esm/appShell/SystemBar.native.js.map +1 -1
- package/dist/esm/appShell/TabBar.native.js.map +1 -1
- package/dist/esm/appShell/appTile.native.js.map +1 -1
- package/dist/esm/appShell/bottomChrome.native.js.map +1 -1
- package/dist/esm/appShell/index.mjs +1 -0
- package/dist/esm/appShell/index.mjs.map +1 -1
- package/dist/esm/appShell/index.native.js +1 -0
- package/dist/esm/appShell/index.native.js.map +1 -1
- package/dist/esm/charts/Axis.native.js.map +1 -1
- package/dist/esm/charts/BarChart.native.js.map +1 -1
- package/dist/esm/charts/ChartDataView.native.js.map +1 -1
- package/dist/esm/charts/ChartSurface.native.js.map +1 -1
- package/dist/esm/charts/LineChart.native.js.map +1 -1
- package/dist/esm/charts/PieChart.native.js.map +1 -1
- package/dist/esm/charts/Sparkline.native.js.map +1 -1
- package/dist/esm/charts/accessibility.native.js.map +1 -1
- package/dist/esm/charts/chartHeight.native.js.map +1 -1
- package/dist/esm/charts/composeChart.native.js.map +1 -1
- package/dist/esm/charts/index.native.js.map +1 -1
- package/dist/esm/charts/math.native.js.map +1 -1
- package/dist/esm/charts/series.native.js.map +1 -1
- package/dist/esm/charts/svg.native.js.map +1 -1
- package/dist/esm/charts/types.native.js.map +1 -1
- package/dist/esm/charts/useChartTheme.native.js.map +1 -1
- package/dist/esm/code/Code/index.native.js.map +1 -1
- package/dist/esm/code/CodeBlock/index.native.js.map +1 -1
- package/dist/esm/code/HighlightedCode/index.native.js.map +1 -1
- package/dist/esm/code/Highlighter/houseSyntaxTheme.native.js.map +1 -1
- package/dist/esm/code/Highlighter/index.native.js.map +1 -1
- package/dist/esm/code/Highlighter/namedGroupMatchAll.native.js.map +1 -1
- package/dist/esm/code/Pre/index.native.js.map +1 -1
- package/dist/esm/code/index.native.js.map +1 -1
- package/dist/esm/componentColors.native.js.map +1 -1
- package/dist/esm/feedback/ConfirmDialog.native.js.map +1 -1
- package/dist/esm/feedback/NotifyHost.native.js.map +1 -1
- package/dist/esm/feedback/copy.native.js.map +1 -1
- package/dist/esm/feedback/index.native.js.map +1 -1
- package/dist/esm/feedback/notify.native.js.map +1 -1
- package/dist/esm/feedback/route.native.js.map +1 -1
- package/dist/esm/feedback/store.native.js.map +1 -1
- package/dist/esm/formLayouts/FormLayouts.native.js.map +1 -1
- package/dist/esm/formLayouts/PreferencePanel.native.js.map +1 -1
- package/dist/esm/formLayouts/index.native.js.map +1 -1
- package/dist/esm/hooks/index.native.js.map +1 -1
- package/dist/esm/hooks/useClipboard.native.js.map +1 -1
- package/dist/esm/hooks/useDocumentTitle.native.js.map +1 -1
- package/dist/esm/hooks/useHoldCue.native.js.map +1 -1
- package/dist/esm/icons/CheckRegular.native.js.map +1 -1
- package/dist/esm/icons/MinusRegular.native.js.map +1 -1
- package/dist/esm/icons/index.native.js.map +1 -1
- package/dist/esm/icons/lucide.native.js.map +1 -1
- package/dist/esm/icons/themed.native.js.map +1 -1
- package/dist/esm/images/Image/ImageFrame.native.js.map +1 -1
- package/dist/esm/images/Image/framing.native.js.map +1 -1
- package/dist/esm/images/Image/mediaRadius.native.js.map +1 -1
- package/dist/esm/images/Image/shared.native.js.map +1 -1
- package/dist/esm/images/Image/types.native.js.map +1 -1
- package/dist/esm/images/index.native.js.map +1 -1
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/knobImmuneExports.native.js.map +1 -1
- package/dist/esm/layouts/AsyncBoundary.native.js.map +1 -1
- package/dist/esm/layouts/Debug/index.native.js.map +1 -1
- package/dist/esm/layouts/EmptyState.native.js.map +1 -1
- package/dist/esm/layouts/IdentityPlate.native.js.map +1 -1
- package/dist/esm/layouts/KeyboardAvoidingWrapper/behavior.native.js.map +1 -1
- package/dist/esm/layouts/PageTemplates.native.js.map +1 -1
- package/dist/esm/layouts/PaneScaffold.native.js.map +1 -1
- package/dist/esm/layouts/SafeAreaWrapper/insets.native.js.map +1 -1
- package/dist/esm/layouts/StatusDot.native.js.map +1 -1
- package/dist/esm/layouts/StatusGlyphStrip.native.js.map +1 -1
- package/dist/esm/layouts/ViewSwitcher.native.js.map +1 -1
- package/dist/esm/layouts/attachments.native.js.map +1 -1
- package/dist/esm/layouts/bottomAccessory.native.js.map +1 -1
- package/dist/esm/layouts/breadcrumbs.native.js.map +1 -1
- package/dist/esm/layouts/index.native.js.map +1 -1
- package/dist/esm/layouts/page.mjs +4 -2
- package/dist/esm/layouts/page.mjs.map +1 -1
- package/dist/esm/layouts/page.native.js +4 -2
- package/dist/esm/layouts/page.native.js.map +1 -1
- package/dist/esm/layouts/pageHeadingScope.native.js.map +1 -1
- package/dist/esm/layouts/screenScroll.mjs +53 -1
- package/dist/esm/layouts/screenScroll.mjs.map +1 -1
- package/dist/esm/layouts/screenScroll.native.js +57 -1
- package/dist/esm/layouts/screenScroll.native.js.map +1 -1
- package/dist/esm/layouts/shellSidebarSlot.native.js.map +1 -1
- package/dist/esm/layouts/sidebar.mjs +45 -11
- package/dist/esm/layouts/sidebar.mjs.map +1 -1
- package/dist/esm/layouts/sidebar.native.js +48 -11
- package/dist/esm/layouts/sidebar.native.js.map +1 -1
- package/dist/esm/layouts/tags.native.js.map +1 -1
- package/dist/esm/layouts/timeline.native.js.map +1 -1
- package/dist/esm/layouts/toolbar.native.js.map +1 -1
- package/dist/esm/shared/actionScan.native.js.map +1 -1
- package/dist/esm/shared/i18n.native.js.map +1 -1
- package/dist/esm/shared/restoreRetries.native.js.map +1 -1
- package/dist/esm/shared/t.native.js.map +1 -1
- package/dist/esm/shared/textRidesText.native.js.map +1 -1
- package/dist/esm/shared/useReturnFocusOnClose.native.js.map +1 -1
- package/dist/esm/surfaces.native.js.map +1 -1
- package/dist/esm/tamagui.native.js.map +1 -1
- package/dist/esm/testSetup.native.js.map +1 -1
- package/dist/esm/utils/setTinted.native.js.map +1 -1
- package/dist/esm/utils/unwrapText.native.js.map +1 -1
- package/dist/esm/views/Calendar.native.js.map +1 -1
- package/dist/esm/views/Dashboard.native.js.map +1 -1
- package/dist/esm/views/Gantt.native.js.map +1 -1
- package/dist/esm/views/GanttDateGrip.native.js.map +1 -1
- package/dist/esm/views/ImageGrid.native.js.map +1 -1
- package/dist/esm/views/List.native.js.map +1 -1
- package/dist/esm/views/ListGroup.native.js.map +1 -1
- package/dist/esm/views/ListRow.native.js.map +1 -1
- package/dist/esm/views/Matrix.native.js.map +1 -1
- package/dist/esm/views/ReportBuilder.native.js.map +1 -1
- package/dist/esm/views/ShortcutCard.native.js.map +1 -1
- package/dist/esm/views/TreeView.native.js.map +1 -1
- package/dist/esm/views/calendarMath.native.js.map +1 -1
- package/dist/esm/views/ganttIntervals.native.js.map +1 -1
- package/dist/esm/views/ganttMath.native.js.map +1 -1
- package/dist/esm/views/index.native.js.map +1 -1
- package/dist/esm/views/kanbanDnd.native.js.map +1 -1
- package/dist/esm/views/matrixMath.native.js.map +1 -1
- package/dist/esm/views/sameNameScope.native.js.map +1 -1
- package/dist/esm/views/treeViewDnd.native.js.map +1 -1
- package/dist/esm/views/treeViewLayout.native.js.map +1 -1
- package/dist/esm/views/treeViewMotion.native.js.map +1 -1
- package/dist/esm/views/treeViewReveal.native.js.map +1 -1
- package/dist/esm/views/usePageFlowLoadMore.native.js.map +1 -1
- package/dist/esm/views/widgetChrome.native.js.map +1 -1
- package/dist/jsx/appShell/AppShell.mjs +406 -0
- package/dist/jsx/appShell/AppShell.mjs.map +1 -0
- package/dist/jsx/appShell/AppShell.native.js +499 -0
- package/dist/jsx/appShell/AppShell.native.js.map +1 -0
- package/dist/jsx/appShell/index.mjs +1 -0
- package/dist/jsx/appShell/index.mjs.map +1 -1
- package/dist/jsx/appShell/index.native.js +1 -0
- package/dist/jsx/appShell/index.native.js.map +1 -1
- package/dist/jsx/feedback/NotifyHost.native.js +1 -1
- package/dist/jsx/formLayouts/PreferencePanel.native.js +1 -1
- package/dist/jsx/index.native.js +1 -1
- package/dist/jsx/layouts/AsyncBoundary.native.js +1 -1
- package/dist/jsx/layouts/AsyncBoundary.native.js.map +1 -1
- package/dist/jsx/layouts/page.mjs +4 -2
- package/dist/jsx/layouts/page.mjs.map +1 -1
- package/dist/jsx/layouts/page.native.js +3 -0
- package/dist/jsx/layouts/page.native.js.map +1 -1
- package/dist/jsx/layouts/screenScroll.mjs +53 -1
- package/dist/jsx/layouts/screenScroll.mjs.map +1 -1
- package/dist/jsx/layouts/screenScroll.native.js +59 -0
- package/dist/jsx/layouts/screenScroll.native.js.map +1 -1
- package/dist/jsx/layouts/sidebar.mjs +45 -11
- package/dist/jsx/layouts/sidebar.mjs.map +1 -1
- package/dist/jsx/layouts/sidebar.native.js +49 -9
- package/dist/jsx/layouts/sidebar.native.js.map +1 -1
- package/package.json +9 -9
- package/src/appShell/AppShell.spec.tsx +259 -0
- package/src/appShell/AppShell.stories.tsx +112 -0
- package/src/appShell/AppShell.tsx +526 -0
- package/src/appShell/index.ts +1 -0
- package/src/layouts/Sidebar.spec.tsx +31 -0
- package/src/layouts/page.tsx +8 -0
- package/src/layouts/screenScroll.tsx +71 -0
- package/src/layouts/sidebar.tsx +83 -5
- package/types/appShell/AppShell.d.ts +47 -0
- package/types/appShell/AppShell.d.ts.map +1 -0
- package/types/appShell/index.d.ts +1 -0
- package/types/appShell/index.d.ts.map +1 -1
- package/types/layouts/page.d.ts +5 -0
- package/types/layouts/page.d.ts.map +1 -1
- package/types/layouts/screenScroll.d.ts +24 -0
- package/types/layouts/screenScroll.d.ts.map +1 -1
- package/types/layouts/sidebar.d.ts +31 -1
- package/types/layouts/sidebar.d.ts.map +1 -1
|
@@ -1,11 +1,28 @@
|
|
|
1
1
|
import { IconSlot } from "@multiplatform.one/theme";
|
|
2
|
-
import { ensureFocusVisibleRing, ensureKeyboardModalityTracking, getGroupPosition, hairline, hairlineWidth, stackRadiusProps, useResolvedKnobs, wasKeyboardFocus, transitionProps } from "@multiplatform.one/theme";
|
|
2
|
+
import { ensureFocusVisibleRing, ensureKeyboardModalityTracking, getGroupPosition, hairline, hairlineWidth, normalizeToHex, stackRadiusProps, useResolvedKnobs, wasKeyboardFocus, transitionProps } from "@multiplatform.one/theme";
|
|
3
3
|
import { Fragment, useId, useState } from "react";
|
|
4
|
-
import { Label, Separator, Text as TamaguiText, XStack, YStack, isWeb } from "tamagui";
|
|
4
|
+
import { Label, Separator, Text as TamaguiText, XStack, YStack, isWeb, useTheme, useThemeName } from "tamagui";
|
|
5
5
|
import { ScrollView } from "../ScrollView/index.mjs";
|
|
6
6
|
import { componentColors } from "../componentColors.mjs";
|
|
7
7
|
import { Text } from "../Text.mjs";
|
|
8
8
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
|
+
const sidebarMaterial = {
|
|
10
|
+
light: "$color3",
|
|
11
|
+
dark: "$color4"
|
|
12
|
+
};
|
|
13
|
+
const sidebarMaterialOpacity = 0.72;
|
|
14
|
+
const sidebarRailInset = "$2";
|
|
15
|
+
function useSidebarMaterial(enabled) {
|
|
16
|
+
const theme = useTheme();
|
|
17
|
+
const step = useThemeName().startsWith("dark") ? sidebarMaterial.dark : sidebarMaterial.light;
|
|
18
|
+
if (!enabled) return null;
|
|
19
|
+
const base = theme[step.slice(1)]?.val;
|
|
20
|
+
const hex = typeof base === "string" ? normalizeToHex(base) : null;
|
|
21
|
+
const backgroundColor = hex ? `rgba(${[1, 3, 5].map(i => parseInt(hex.slice(i, i + 2), 16)).join(", ")}, ${sidebarMaterialOpacity})` : step;
|
|
22
|
+
return {
|
|
23
|
+
backgroundColor
|
|
24
|
+
};
|
|
25
|
+
}
|
|
9
26
|
function Sidebar({
|
|
10
27
|
sections,
|
|
11
28
|
width = 250,
|
|
@@ -13,11 +30,15 @@ function Sidebar({
|
|
|
13
30
|
role = "navigation",
|
|
14
31
|
divider = true,
|
|
15
32
|
footer,
|
|
16
|
-
testID
|
|
33
|
+
testID,
|
|
34
|
+
header,
|
|
35
|
+
children,
|
|
36
|
+
material = false
|
|
17
37
|
}) {
|
|
18
38
|
const {
|
|
19
39
|
knobProps
|
|
20
40
|
} = useResolvedKnobs();
|
|
41
|
+
const materialProps = useSidebarMaterial(material);
|
|
21
42
|
const headingId = useId();
|
|
22
43
|
const rowPad = knobProps.panelPadding.padding;
|
|
23
44
|
const iconColumn = Number(knobProps.controlIcon?.width) || void 0;
|
|
@@ -32,6 +53,7 @@ function Sidebar({
|
|
|
32
53
|
height: "100%",
|
|
33
54
|
minHeight: 0,
|
|
34
55
|
...knobProps.surface,
|
|
56
|
+
...materialProps,
|
|
35
57
|
borderWidth: 0,
|
|
36
58
|
borderColor: "$borderColor",
|
|
37
59
|
...(!divider ? void 0 : isWeb ? {
|
|
@@ -42,13 +64,20 @@ function Sidebar({
|
|
|
42
64
|
borderEndWidth: hairlineWidth
|
|
43
65
|
}),
|
|
44
66
|
testID,
|
|
45
|
-
children: [/* @__PURE__ */jsx(
|
|
67
|
+
children: [header ? /* @__PURE__ */jsx(YStack, {
|
|
68
|
+
flexShrink: 0,
|
|
69
|
+
...(material ? {
|
|
70
|
+
paddingHorizontal: sidebarRailInset
|
|
71
|
+
} : null),
|
|
72
|
+
"data-sidebar-header": "",
|
|
73
|
+
children: header
|
|
74
|
+
}) : null, /* @__PURE__ */jsx(ScrollView, {
|
|
46
75
|
flex: 1,
|
|
47
|
-
children: /* @__PURE__ */
|
|
76
|
+
children: /* @__PURE__ */jsxs(YStack, {
|
|
48
77
|
...knobProps.panelPadding,
|
|
49
|
-
paddingHorizontal: 0,
|
|
78
|
+
paddingHorizontal: material ? sidebarRailInset : 0,
|
|
50
79
|
...knobProps.gapLg,
|
|
51
|
-
children: sections.map((section, sectionIdx) => {
|
|
80
|
+
children: [sections.map((section, sectionIdx) => {
|
|
52
81
|
const titleId = section.title ? `${headingId}-${sectionIdx}` : void 0;
|
|
53
82
|
return /* @__PURE__ */jsxs(YStack, {
|
|
54
83
|
role: "group",
|
|
@@ -100,7 +129,9 @@ function Sidebar({
|
|
|
100
129
|
"data-sidebar-group": "",
|
|
101
130
|
children: section.items.map((item, itemIdx, items) => {
|
|
102
131
|
const position = getGroupPosition(itemIdx, items.length);
|
|
103
|
-
const corners =
|
|
132
|
+
const corners = material ? {
|
|
133
|
+
borderRadius: knobProps.borderRadius.borderRadius
|
|
134
|
+
} : stackRadiusProps(position, knobProps.borderRadius.borderRadius);
|
|
104
135
|
const itemKey = `${sectionIdx}:${String(item.value ?? item.label)}`;
|
|
105
136
|
const ink = item.active ? componentColors.selection.ink : componentColors.text.primary;
|
|
106
137
|
const metaInk = item.active ? componentColors.selection.ink : knobProps.textAccentColor;
|
|
@@ -112,7 +143,7 @@ function Sidebar({
|
|
|
112
143
|
outlineColor: "$outlineColor"
|
|
113
144
|
}) : null;
|
|
114
145
|
return /* @__PURE__ */jsxs(Fragment, {
|
|
115
|
-
children: [itemIdx > 0 ? /* @__PURE__ */jsx(YStack, {
|
|
146
|
+
children: [itemIdx > 0 && !material ? /* @__PURE__ */jsx(YStack, {
|
|
116
147
|
alignSelf: "stretch",
|
|
117
148
|
paddingStart: rowPad,
|
|
118
149
|
children: /* @__PURE__ */jsx(Separator, {
|
|
@@ -229,13 +260,16 @@ function Sidebar({
|
|
|
229
260
|
})
|
|
230
261
|
})]
|
|
231
262
|
}, section.title ?? sectionIdx);
|
|
232
|
-
})
|
|
263
|
+
}), children]
|
|
233
264
|
})
|
|
234
265
|
}), footer != null && footer !== false ? /* @__PURE__ */jsxs(YStack, {
|
|
235
266
|
flexShrink: 1,
|
|
236
267
|
minHeight: 0,
|
|
237
268
|
maxHeight: "50%",
|
|
238
269
|
width: "100%",
|
|
270
|
+
...(material ? {
|
|
271
|
+
paddingHorizontal: sidebarRailInset
|
|
272
|
+
} : null),
|
|
239
273
|
"data-sidebar-footer": "",
|
|
240
274
|
children: [/* @__PURE__ */jsx(Separator, {
|
|
241
275
|
width: "100%",
|
|
@@ -245,5 +279,5 @@ function Sidebar({
|
|
|
245
279
|
}) : null]
|
|
246
280
|
});
|
|
247
281
|
}
|
|
248
|
-
export { Sidebar };
|
|
282
|
+
export { Sidebar, sidebarMaterial, sidebarMaterialOpacity, sidebarRailInset };
|
|
249
283
|
//# sourceMappingURL=sidebar.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["IconSlot","ensureFocusVisibleRing","ensureKeyboardModalityTracking","getGroupPosition","hairline","hairlineWidth","stackRadiusProps","useResolvedKnobs","wasKeyboardFocus","transitionProps","Fragment","useId","useState","Label","Separator","Text","TamaguiText","XStack","YStack","isWeb","ScrollView","componentColors","jsx","jsxs","Sidebar","sections","width","ariaLabel","role","divider","footer","testID","knobProps","headingId","rowPad","panelPadding","padding","iconColumn","Number","controlIcon","kbFocusKey","setKbFocusKey","document","flex","alignSelf","height","minHeight","surface","borderWidth","borderColor","borderInlineEndWidth","borderInlineEndStyle","className","borderEndWidth","children","paddingHorizontal","gapLg","map","section","sectionIdx","titleId","title","gap","action","alignItems","gapSm","minWidth","icon","id","size","sizeToken","body","fontSize","fontWeight","textTransform","color","textAccentColor","lineHeight","content","items","length","emptyText","label","item","itemIdx","position","corners","borderRadius","itemKey","String","value","ink","active","selection","text","primary","metaInk","depth","Math","max","floor","kbFocused","pressable","Boolean","onPress","kbRing","outlineOffset","outlineColor","paddingStart","line","overflow","backgroundColor","background","hoverStyle","hover","pressStyle","press","interactive","cursor","userSelect","motion","control","tabIndex","outlineWidth","focusStyle","focusVisibleStyle","onFocus","onBlur","prev","onKeyDown","e","key","preventDefault","Array","from","_","level","flexShrink","justifyContent","numberOfLines","subTitle","count","trailing","maxHeight"],"sources":["../../../src/layouts/sidebar.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["IconSlot","ensureFocusVisibleRing","ensureKeyboardModalityTracking","getGroupPosition","hairline","hairlineWidth","normalizeToHex","stackRadiusProps","useResolvedKnobs","wasKeyboardFocus","transitionProps","Fragment","useId","useState","Label","Separator","Text","TamaguiText","XStack","YStack","isWeb","useTheme","useThemeName","ScrollView","componentColors","jsx","jsxs","sidebarMaterial","light","dark","sidebarMaterialOpacity","sidebarRailInset","useSidebarMaterial","enabled","theme","step","startsWith","base","slice","val","hex","backgroundColor","map","i","parseInt","join","Sidebar","sections","width","ariaLabel","role","divider","footer","testID","header","children","material","knobProps","materialProps","headingId","rowPad","panelPadding","padding","iconColumn","Number","controlIcon","kbFocusKey","setKbFocusKey","document","flex","alignSelf","height","minHeight","surface","borderWidth","borderColor","borderInlineEndWidth","borderInlineEndStyle","className","borderEndWidth","flexShrink","paddingHorizontal","gapLg","section","sectionIdx","titleId","title","gap","action","alignItems","gapSm","minWidth","icon","id","size","sizeToken","body","fontSize","fontWeight","textTransform","color","textAccentColor","lineHeight","content","items","length","emptyText","label","item","itemIdx","position","corners","borderRadius","itemKey","String","value","ink","active","selection","text","primary","metaInk","depth","Math","max","floor","kbFocused","pressable","Boolean","onPress","kbRing","outlineOffset","outlineColor","paddingStart","line","overflow","background","hoverStyle","hover","pressStyle","press","interactive","cursor","userSelect","motion","control","tabIndex","outlineWidth","focusStyle","focusVisibleStyle","onFocus","onBlur","prev","onKeyDown","e","key","preventDefault","Array","from","_","level","justifyContent","numberOfLines","subTitle","count","trailing","maxHeight"],"sources":["../../../src/layouts/sidebar.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,QAAgB;AACzB,SACEC,sBAAA,EACAC,8BAAA,EACAC,gBAAA,EACAC,QAAA,EACAC,aAAA,EACAC,cAAA,EACAC,gBAAA,EACAC,gBAAA,EACAC,gBAAA,EACAC,eAAA,QACK;AAEP,SAASC,QAAA,EAAUC,KAAA,EAAOC,QAAA,QAAgB;AAC1C,SACEC,KAAA,EACAC,SAAA,EACAC,IAAA,IAAQC,WAAA,EACRC,MAAA,EACAC,MAAA,EACAC,KAAA,EACAC,QAAA,EACAC,YAAA,QACK;AACP,SAASC,UAAA,QAAkB;AAC3B,SAASC,eAAA,QAAuB;AAChC,SAASR,IAAA,QAAY;AA4Jb,SAAAS,GAAA,EA8BYC,IAAA,QA9BZ;AA/ED,MAAMC,eAAA,GAAkB;EAAEC,KAAA,EAAO;EAAWC,IAAA,EAAM;AAAU;AAM5D,MAAMC,sBAAA,GAAyB;AAM/B,MAAMC,gBAAA,GAAmB;AAEhC,SAASC,mBAAmBC,OAAA,EAAkB;EAC5C,MAAMC,KAAA,GAAQb,QAAA,CAAS;EACvB,MAAMc,IAAA,GAAOb,YAAA,CAAa,EAAEc,UAAA,CAAW,MAAM,IAAIT,eAAA,CAAgBE,IAAA,GAAOF,eAAA,CAAgBC,KAAA;EACxF,IAAI,CAACK,OAAA,EAAS,OAAO;EACrB,MAAMI,IAAA,GAAOH,KAAA,CAAMC,IAAA,CAAKG,KAAA,CAAM,CAAC,CAAC,GAAGC,GAAA;EACnC,MAAMC,GAAA,GAAM,OAAOH,IAAA,KAAS,WAAW/B,cAAA,CAAe+B,IAAI,IAAI;EAC9D,MAAMI,eAAA,GAAkBD,GAAA,GACpB,QAAQ,CAAC,GAAG,GAAG,CAAC,EAAEE,GAAA,CAAKC,CAAA,IAAMC,QAAA,CAASJ,GAAA,CAAIF,KAAA,CAAMK,CAAA,EAAGA,CAAA,GAAI,CAAC,GAAG,EAAE,CAAC,EAAEE,IAAA,CAAK,IAAI,CAAC,KAAKf,sBAAsB,MACrGK,IAAA;EACJ,OAAO;IAAEM;EAAgB;AAC3B;AAEO,SAASK,QAAQ;EACtBC,QAAA;EACAC,KAAA,GAAQ;EACR,cAAcC,SAAA,GAAY;EAC1BC,IAAA,GAAO;EACPC,OAAA,GAAU;EACVC,MAAA;EACAC,MAAA;EACAC,MAAA;EACAC,QAAA;EACAC,QAAA,GAAW;AACb,GAAiB;EACf,MAAM;IAAEC;EAAU,IAAIjD,gBAAA,CAAiB;EACvC,MAAMkD,aAAA,GAAgB1B,kBAAA,CAAmBwB,QAAQ;EACjD,MAAMG,SAAA,GAAY/C,KAAA,CAAM;EAKxB,MAAMgD,MAAA,GAASH,SAAA,CAAUI,YAAA,CAAaC,OAAA;EACtC,MAAMC,UAAA,GAAaC,MAAA,CAAOP,SAAA,CAAUQ,WAAA,EAAajB,KAAK,KAAK;EAG3D,MAAM,CAACkB,UAAA,EAAYC,aAAa,IAAItD,QAAA,CAAwB,IAAI;EAChE,IAAI,OAAOuD,QAAA,KAAa,aAAalE,8BAAA,CAA+B;EAEpE,OACE,eAAAwB,IAAA,CAACP,MAAA;IACC+B,IAAA;IACA,cAAYD,SAAA;IACZD,KAAA;IACAqB,IAAA,EAAM;IACNC,SAAA,EAAU;IACVC,MAAA,EAAO;IACPC,SAAA,EAAW;IAGV,GAAGf,SAAA,CAAUgB,OAAA;IACb,GAAIf,aAAA;IACLgB,WAAA,EAAa;IACbC,WAAA,EAAY;IACX,IAAI,CAACxB,OAAA,GACF,SACA/B,KAAA,GACE;MACEwD,oBAAA,EAAsBvE,aAAA;MACtBwE,oBAAA,EAAsB;MACtBC,SAAA,EAAW;IACb,IACA;MAAEC,cAAA,EAAgB1E;IAAc;IACtCgD,MAAA;IAECE,QAAA,GAAAD,MAAA,GACC,eAAA7B,GAAA,CAACN,MAAA;MACC6D,UAAA,EAAY;MACX,IAAIxB,QAAA,GAAW;QAAEyB,iBAAA,EAAmBlD;MAAiB,IAAI;MAC1D,uBAAoB;MAEnBwB,QAAA,EAAAD;IAAA,CACH,IACE,MACJ,eAAA7B,GAAA,CAACF,UAAA;MAAW8C,IAAA,EAAM;MAChBd,QAAA,iBAAA7B,IAAA,CAACP,MAAA;QACE,GAAGsC,SAAA,CAAUI,YAAA;QACdoB,iBAAA,EAAmBzB,QAAA,GAAWzB,gBAAA,GAAmB;QAChD,GAAG0B,SAAA,CAAUyB,KAAA;QAEb3B,QAAA,GAAAR,QAAA,CAASL,GAAA,CAAI,CAACyC,OAAA,EAASC,UAAA,KAAe;UACrC,MAAMC,OAAA,GAAUF,OAAA,CAAQG,KAAA,GAAQ,GAAG3B,SAAS,IAAIyB,UAAU,KAAK;UAC/D,OACE,eAAA1D,IAAA,CAACP,MAAA;YAEC+B,IAAA,EAAK;YACL,mBAAiBmC,OAAA;YAChB,GAAG5B,SAAA,CAAU8B,GAAA;YACdvC,KAAA,EAAM;YAELO,QAAA,GAAA4B,OAAA,CAAQG,KAAA,IAASH,OAAA,CAAQK,MAAA;YAAA;YAAA;YAAA;YAAA;YAKxB;YAAA9D,IAAA,CAACR,MAAA;cAAO+D,iBAAA,EAAmBrB,MAAA;cAAQ6B,UAAA,EAAW;cAAU,GAAGhC,SAAA,CAAU8B,GAAA;cACnEhC,QAAA,kBAAA7B,IAAA,CAACR,MAAA;gBAAOuE,UAAA,EAAW;gBAAU,GAAGhC,SAAA,CAAUiC,KAAA;gBAAOrB,IAAA,EAAM;gBAAGsB,QAAA,EAAU;gBACjEpC,QAAA,GAAA4B,OAAA,CAAQS,IAAA,EACT,eAAAnE,GAAA,CAACX,KAAA;kBACC+E,EAAA,EAAIR,OAAA;kBACJS,IAAA,EAAMrC,SAAA,CAAUsC,SAAA;kBACf,GAAGtC,SAAA,CAAUuC,IAAA;kBACdC,QAAA,EAAS;kBACTC,UAAA,EAAW;kBACXC,aAAA,EAAc;kBACdC,KAAA,EAAO3C,SAAA,CAAU4C,eAAA;kBAGjBpB,iBAAA,EAAmB;kBACnBV,MAAA,EAAO;kBACP+B,UAAA,EAAW;kBAEV/C,QAAA,EAAA4B,OAAA,CAAQG;gBAAA,CACX;cAAA,CACF,GACCH,OAAA,CAAQK,MAAA;YAAA,CACX,IACE,MAEHL,OAAA,CAAQoB,OAAA,IAAW,OAClB,eAAA9E,GAAA,CAACN,MAAA;cAAO8D,iBAAA,EAAmBrB,MAAA;cAAS,GAAGH,SAAA,CAAU8B,GAAA;cAC9ChC,QAAA,EAAA4B,OAAA,CAAQoB;YAAA,CACX,IACE,MAEHpB,OAAA,CAAQqB,KAAA,CAAMC,MAAA,KAAW,KAAKtB,OAAA,CAAQuB,SAAA,GACrC,eAAAjF,GAAA,CAACN,MAAA;cAAO8D,iBAAA,EAAmBrB,MAAA;cACzBL,QAAA,iBAAA9B,GAAA,CAACT,IAAA;gBAAKoF,KAAA,EAAO3C,SAAA,CAAU4C,eAAA;gBAAkB,GAAG5C,SAAA,CAAUkD,KAAA;gBACnDpD,QAAA,EAAA4B,OAAA,CAAQuB;cAAA,CACX;YAAA,CACF,IACE,MAEJ,eAAAjF,GAAA,CAACN,MAAA;cAAO6B,KAAA,EAAM;cAAO,sBAAmB;cACrCO,QAAA,EAAA4B,OAAA,CAAQqB,KAAA,CAAM9D,GAAA,CAAI,CAACkE,IAAA,EAAMC,OAAA,EAASL,KAAA,KAAU;gBAC3C,MAAMM,QAAA,GAAW3G,gBAAA,CAAiB0G,OAAA,EAASL,KAAA,CAAMC,MAAM;gBACvD,MAAMM,OAAA,GAAUvD,QAAA,GACZ;kBAAEwD,YAAA,EAAcvD,SAAA,CAAUuD,YAAA,CAAaA;gBAAa,IACpDzG,gBAAA,CAAiBuG,QAAA,EAAUrD,SAAA,CAAUuD,YAAA,CAAaA,YAAY;gBAClE,MAAMC,OAAA,GAAU,GAAG7B,UAAU,IAAI8B,MAAA,CAAON,IAAA,CAAKO,KAAA,IAASP,IAAA,CAAKD,KAAK,CAAC;gBACjE,MAAMS,GAAA,GAAMR,IAAA,CAAKS,MAAA,GACb7F,eAAA,CAAgB8F,SAAA,CAAUF,GAAA,GAC1B5F,eAAA,CAAgB+F,IAAA,CAAKC,OAAA;gBACzB,MAAMC,OAAA,GAAUb,IAAA,CAAKS,MAAA,GACjB7F,eAAA,CAAgB8F,SAAA,CAAUF,GAAA,GAC1B3D,SAAA,CAAU4C,eAAA;gBACd,MAAMqB,KAAA,GAAQC,IAAA,CAAKC,GAAA,CAAI,GAAGD,IAAA,CAAKE,KAAA,CAAMjB,IAAA,CAAKc,KAAA,IAAS,CAAC,CAAC;gBACrD,MAAMI,SAAA,GAAY5D,UAAA,KAAe+C,OAAA;gBACjC,MAAMc,SAAA,GAAYC,OAAA,CAAQpB,IAAA,CAAKqB,OAAO;gBACtC,MAAMC,MAAA,GAASJ,SAAA,GACX7H,sBAAA,CAAuB;kBACrBkI,aAAA,EAAe;kBACfC,YAAA,EAAc;gBAChB,CAAC,IACD;gBACJ,OACE,eAAA1G,IAAA,CAACf,QAAA;kBACE4C,QAAA,GAAAsD,OAAA,GAAU,KAAK,CAACrD,QAAA,GACf,eAAA/B,GAAA,CAACN,MAAA;oBAAOmD,SAAA,EAAU;oBAAU+D,YAAA,EAAczE,MAAA;oBACxCL,QAAA,iBAAA9B,GAAA,CAACV,SAAA;sBAAUuD,SAAA,EAAU;sBAAW,GAAGlE,QAAA,CAASkI;oBAAA,CAAM;kBAAA,CACpD,IACE,MACJ,eAAA5G,IAAA,CAACR,MAAA;oBACC,uBAAqB4F,QAAA;oBACrB,oBAAiB;oBACjBzD,MAAA,EAAQuD,IAAA,CAAKvD,MAAA;oBACb,cAAYqE,KAAA,GAAQ,IAAIA,KAAA,GAAQ;oBAChC,eAAad,IAAA,CAAKS,MAAA,GAAS,OAAO;oBAClC,gBAAcT,IAAA,CAAKS,MAAA,GAAS,SAAS;oBACrC5B,UAAA,EAAW;oBACXzC,KAAA,EAAM;oBACNsB,SAAA,EAAU;oBACVE,SAAA,EAAWf,SAAA,CAAUsC,SAAA;oBACrBd,iBAAA,EAAmBrB,MAAA;oBACnB2E,QAAA,EAAS;oBACR,GAAG9E,SAAA,CAAU8B,GAAA;oBACb,GAAGwB,OAAA;oBACJtE,eAAA,EACEmE,IAAA,CAAKS,MAAA,GAAS7F,eAAA,CAAgB8F,SAAA,CAAUkB,UAAA,GAAa;oBAEvDC,UAAA,EAAY;sBACVhG,eAAA,EAAiBmE,IAAA,CAAKS,MAAA,GAClB7F,eAAA,CAAgB8F,SAAA,CAAUoB,KAAA,GAC1BlH,eAAA,CAAgBiD,OAAA,CAAQ+D,UAAA;sBAC5B,GAAGzB;oBACL;oBACA4B,UAAA,EAAY;sBACVlG,eAAA,EAAiBmE,IAAA,CAAKS,MAAA,GAClB7F,eAAA,CAAgB8F,SAAA,CAAUsB,KAAA,GAC1BpH,eAAA,CAAgBqH,WAAA,CAAYL,UAAA;sBAChC,GAAGzB;oBACL;oBACA+B,MAAA,EAAQf,SAAA,GAAY,YAAY;oBAChCgB,UAAA,EAAW;oBACXd,OAAA,EAASrB,IAAA,CAAKqB,OAAA;oBACb,GAAGvH,eAAA,CAAgB+C,SAAA,CAAUuF,MAAA,CAAOC,OAAO;oBAC3C,IAAIlB,SAAA,GACD;sBACE7E,IAAA,EAAM;sBACNgG,QAAA,EAAU;sBACVC,YAAA,EAAc;sBACdC,UAAA,EAAY;wBAAED,YAAA,EAAc;sBAAE;sBAAA;sBAAA;sBAAA;sBAI9BE,iBAAA,EAAmBnB,MAAA,IAAU;wBAAEiB,YAAA,EAAc;sBAAE;sBAC/C,IAAIjB,MAAA,IAAU;wBAAEiB,YAAA,EAAc;sBAAE;sBAChCG,OAAA,EAASA,CAAA,KAAM;wBACb,IAAI7I,gBAAA,CAAiB,GAAG0D,aAAA,CAAc8C,OAAO;sBAC/C;sBACAsC,MAAA,EAAQA,CAAA,KAAM;wBACZpF,aAAA,CAAeqF,IAAA,IAAUA,IAAA,KAASvC,OAAA,GAAU,OAAOuC,IAAK;sBAC1D;sBACAC,SAAA,EAAaC,CAAA,IAA2B;wBACtC,IAAIA,CAAA,CAAEC,GAAA,KAAQ,WAAWD,CAAA,CAAEC,GAAA,KAAQ,KAAK;0BACtCD,CAAA,CAAEE,cAAA,CAAe;0BACjBhD,IAAA,CAAKqB,OAAA,GAAU;wBACjB;sBACF;oBACF,IACA;oBAEH1E,QAAA,GAAAsG,KAAA,CAAMC,IAAA,CAAK;sBAAErD,MAAA,EAAQiB;oBAAM,GAAG,CAACqC,CAAA,EAAGC,KAAA,KACjC,eAAAvI,GAAA,CAACN,MAAA;sBAEC6B,KAAA,EAAOe,UAAA;sBACPiB,UAAA,EAAY;sBACZ,eAAW;sBACX,uBAAoB;oBAAA,GAJfgF,KAKP,CACD,GACApD,IAAA,CAAKhB,IAAA;oBAAA;oBAAA;oBAAA;oBAIJ;oBAAAnE,GAAA,CAACN,MAAA;sBACC6D,UAAA,EAAY;sBACX,GAAI;wBAAEoB,KAAA,EAAOqB;sBAAQ;sBAEtBlE,QAAA,iBAAA9B,GAAA,CAACzB,QAAA;wBAAS4F,IAAA,EAAMgB,IAAA,CAAKhB,IAAA;wBAAMQ,KAAA,EAAOqB;sBAAA,CAAS;oBAAA,CAC7C,IACE,MACJ,eAAA/F,IAAA,CAACP,MAAA;sBAAOkD,IAAA,EAAM;sBAAGsB,QAAA,EAAU;sBAAGsE,cAAA,EAAe;sBAC3C1G,QAAA,kBAAA9B,GAAA,CAACR,WAAA;wBACE,GAAGwC,SAAA,CAAUuC,IAAA;wBACdI,KAAA,EAAOgB,GAAA;wBACPlB,UAAA,EAAYU,IAAA,CAAKS,MAAA,GAAS,QAAQ;wBAClC6C,aAAA,EAAe;wBAEd3G,QAAA,EAAAqD,IAAA,CAAKD;sBAAA,CACR,GACCC,IAAA,CAAKuD,QAAA,GACJ,eAAA1I,GAAA,CAACR,WAAA;wBACE,GAAGwC,SAAA,CAAUuC,IAAA;wBACdI,KAAA,EAAOqB,OAAA;wBACPxB,QAAA,EAAS;wBACTiE,aAAA,EAAe;wBAEd3G,QAAA,EAAAqD,IAAA,CAAKuD;sBAAA,CACR,IACE;oBAAA,CACN,GACCvD,IAAA,CAAKwD,KAAA,KAAU,SACd,eAAA1I,IAAA,CAACV,IAAA;sBAAKoF,KAAA,EAAOqB,OAAA;sBAASxB,QAAA,EAAS;sBAAKjB,UAAA,EAAY;sBAAGzB,QAAA,QAC/CqD,IAAA,CAAKwD,KAAA,EAAM;oBAAA,CACf,IACE,MACHxD,IAAA,CAAKyD,QAAA,IAAY,OAChB,eAAA5I,GAAA,CAACP,MAAA;sBAAO8D,UAAA,EAAY;sBAAGS,UAAA,EAAW;sBAC/BlC,QAAA,EAAAqD,IAAA,CAAKyD;oBAAA,CACR,IACE;kBAAA,CACN;gBAAA,GApHapD,OAqHf;cAEJ,CAAC;YAAA,CACH;UAAA,GAhMK9B,OAAA,CAAQG,KAAA,IAASF,UAiMxB;QAEJ,CAAC,GACA7B,QAAA;MAAA,CACH;IAAA,CACF,GACCH,MAAA,IAAU,QAAQA,MAAA,KAAW,QAC5B,eAAA1B,IAAA,CAACP,MAAA;MACC6D,UAAA,EAAY;MACZR,SAAA,EAAW;MACX8F,SAAA,EAAU;MACVtH,KAAA,EAAM;MACL,IAAIQ,QAAA,GAAW;QAAEyB,iBAAA,EAAmBlD;MAAiB,IAAI;MAC1D,uBAAoB;MAEpBwB,QAAA,kBAAA9B,GAAA,CAACV,SAAA;QAAUiC,KAAA,EAAM;QAAOsB,SAAA,EAAU;QAAW,GAAGlE,QAAA,CAASkI;MAAA,CAAM,GAC9DlF,MAAA;IAAA,CACH,IACE;EAAA,CACN;AAEJ","ignoreList":[]}
|
|
@@ -24,7 +24,10 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
|
24
24
|
}), mod);
|
|
25
25
|
var sidebar_exports = {};
|
|
26
26
|
__export(sidebar_exports, {
|
|
27
|
-
Sidebar: () => Sidebar
|
|
27
|
+
Sidebar: () => Sidebar,
|
|
28
|
+
sidebarMaterial: () => sidebarMaterial,
|
|
29
|
+
sidebarMaterialOpacity: () => sidebarMaterialOpacity,
|
|
30
|
+
sidebarRailInset: () => sidebarRailInset
|
|
28
31
|
});
|
|
29
32
|
module.exports = __toCommonJS(sidebar_exports);
|
|
30
33
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
@@ -35,6 +38,26 @@ var import_tamagui = require("tamagui");
|
|
|
35
38
|
var import_ScrollView = require("../ScrollView/index.native.js");
|
|
36
39
|
var import_componentColors = require("../componentColors.native.js");
|
|
37
40
|
var import_Text = require("../Text.native.js");
|
|
41
|
+
var sidebarMaterial = {
|
|
42
|
+
light: "$color3",
|
|
43
|
+
dark: "$color4"
|
|
44
|
+
};
|
|
45
|
+
var sidebarMaterialOpacity = 0.72;
|
|
46
|
+
var sidebarRailInset = "$2";
|
|
47
|
+
function useSidebarMaterial(enabled) {
|
|
48
|
+
var _theme_step_slice;
|
|
49
|
+
var theme = (0, import_tamagui.useTheme)();
|
|
50
|
+
var step = (0, import_tamagui.useThemeName)().startsWith("dark") ? sidebarMaterial.dark : sidebarMaterial.light;
|
|
51
|
+
if (!enabled) return null;
|
|
52
|
+
var base = (_theme_step_slice = theme[step.slice(1)]) === null || _theme_step_slice === void 0 ? void 0 : _theme_step_slice.val;
|
|
53
|
+
var hex = typeof base === "string" ? (0, import_theme2.normalizeToHex)(base) : null;
|
|
54
|
+
var backgroundColor = hex ? `rgba(${[1, 3, 5].map(function (i) {
|
|
55
|
+
return parseInt(hex.slice(i, i + 2), 16);
|
|
56
|
+
}).join(", ")}, ${sidebarMaterialOpacity})` : step;
|
|
57
|
+
return {
|
|
58
|
+
backgroundColor
|
|
59
|
+
};
|
|
60
|
+
}
|
|
38
61
|
function Sidebar(param) {
|
|
39
62
|
var {
|
|
40
63
|
sections,
|
|
@@ -43,12 +66,16 @@ function Sidebar(param) {
|
|
|
43
66
|
role = "navigation",
|
|
44
67
|
divider = true,
|
|
45
68
|
footer,
|
|
46
|
-
testID
|
|
69
|
+
testID,
|
|
70
|
+
header,
|
|
71
|
+
children,
|
|
72
|
+
material = false
|
|
47
73
|
} = param;
|
|
48
74
|
var _knobProps_controlIcon;
|
|
49
75
|
var {
|
|
50
76
|
knobProps
|
|
51
77
|
} = (0, import_theme2.useResolvedKnobs)();
|
|
78
|
+
var materialProps = useSidebarMaterial(material);
|
|
52
79
|
var headingId = (0, import_react.useId)();
|
|
53
80
|
var rowPad = knobProps.panelPadding.padding;
|
|
54
81
|
var iconColumn = Number((_knobProps_controlIcon = knobProps.controlIcon) === null || _knobProps_controlIcon === void 0 ? void 0 : _knobProps_controlIcon.width) || void 0;
|
|
@@ -65,6 +92,7 @@ function Sidebar(param) {
|
|
|
65
92
|
// SF-CARD fill without a four-side control border (R-NONE). The end
|
|
66
93
|
// hairline is the panel divider (Axiom 15), stretched to the rail height.
|
|
67
94
|
...knobProps.surface,
|
|
95
|
+
...materialProps,
|
|
68
96
|
borderWidth: 0,
|
|
69
97
|
borderColor: "$borderColor",
|
|
70
98
|
...(!divider ? void 0 : import_tamagui.isWeb ? {
|
|
@@ -75,13 +103,20 @@ function Sidebar(param) {
|
|
|
75
103
|
borderEndWidth: import_theme2.hairlineWidth
|
|
76
104
|
}),
|
|
77
105
|
testID,
|
|
78
|
-
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(
|
|
106
|
+
children: [header ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.YStack, {
|
|
107
|
+
flexShrink: 0,
|
|
108
|
+
...(material ? {
|
|
109
|
+
paddingHorizontal: sidebarRailInset
|
|
110
|
+
} : null),
|
|
111
|
+
"data-sidebar-header": "",
|
|
112
|
+
children: header
|
|
113
|
+
}) : null, /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ScrollView.ScrollView, {
|
|
79
114
|
flex: 1,
|
|
80
|
-
children: /* @__PURE__ */(0, import_jsx_runtime.
|
|
115
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {
|
|
81
116
|
...knobProps.panelPadding,
|
|
82
|
-
paddingHorizontal: 0,
|
|
117
|
+
paddingHorizontal: material ? sidebarRailInset : 0,
|
|
83
118
|
...knobProps.gapLg,
|
|
84
|
-
children: sections.map(function (section, sectionIdx) {
|
|
119
|
+
children: [sections.map(function (section, sectionIdx) {
|
|
85
120
|
var _section_title;
|
|
86
121
|
var titleId = section.title ? `${headingId}-${sectionIdx}` : void 0;
|
|
87
122
|
return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {
|
|
@@ -137,7 +172,9 @@ function Sidebar(param) {
|
|
|
137
172
|
children: section.items.map(function (item, itemIdx, items) {
|
|
138
173
|
var _item_value, _item_depth;
|
|
139
174
|
var position = (0, import_theme2.getGroupPosition)(itemIdx, items.length);
|
|
140
|
-
var corners =
|
|
175
|
+
var corners = material ? {
|
|
176
|
+
borderRadius: knobProps.borderRadius.borderRadius
|
|
177
|
+
} : (0, import_theme2.stackRadiusProps)(position, knobProps.borderRadius.borderRadius);
|
|
141
178
|
var itemKey = `${sectionIdx}:${String((_item_value = item.value) !== null && _item_value !== void 0 ? _item_value : item.label)}`;
|
|
142
179
|
var ink = item.active ? import_componentColors.componentColors.selection.ink : import_componentColors.componentColors.text.primary;
|
|
143
180
|
var metaInk = item.active ? import_componentColors.componentColors.selection.ink : knobProps.textAccentColor;
|
|
@@ -149,7 +186,7 @@ function Sidebar(param) {
|
|
|
149
186
|
outlineColor: "$outlineColor"
|
|
150
187
|
}) : null;
|
|
151
188
|
return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_react.Fragment, {
|
|
152
|
-
children: [itemIdx > 0 ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.YStack, {
|
|
189
|
+
children: [itemIdx > 0 && !material ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.YStack, {
|
|
153
190
|
alignSelf: "stretch",
|
|
154
191
|
paddingStart: rowPad,
|
|
155
192
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Separator, {
|
|
@@ -271,13 +308,16 @@ function Sidebar(param) {
|
|
|
271
308
|
})
|
|
272
309
|
})]
|
|
273
310
|
}, (_section_title = section.title) !== null && _section_title !== void 0 ? _section_title : sectionIdx);
|
|
274
|
-
})
|
|
311
|
+
}), children]
|
|
275
312
|
})
|
|
276
313
|
}), footer != null && footer !== false ? /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {
|
|
277
314
|
flexShrink: 1,
|
|
278
315
|
minHeight: 0,
|
|
279
316
|
maxHeight: "50%",
|
|
280
317
|
width: "100%",
|
|
318
|
+
...(material ? {
|
|
319
|
+
paddingHorizontal: sidebarRailInset
|
|
320
|
+
} : null),
|
|
281
321
|
"data-sidebar-footer": "",
|
|
282
322
|
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Separator, {
|
|
283
323
|
width: "100%",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","sidebar_exports","Sidebar","module","exports","import_jsx_runtime","require","import_theme","import_theme2","import_react","import_tamagui","import_ScrollView","import_componentColors","import_Text","param","sections","width","ariaLabel","role","divider","footer","testID","_knobProps_controlIcon","knobProps","useResolvedKnobs","headingId","useId","rowPad","panelPadding","padding","iconColumn","Number","controlIcon","kbFocusKey","setKbFocusKey","useState","document","ensureKeyboardModalityTracking","jsxs","YStack","flex","alignSelf","height","minHeight","surface","borderWidth","borderColor","isWeb","borderInlineEndWidth","hairlineWidth","borderInlineEndStyle","className","borderEndWidth","children","jsx","ScrollView","paddingHorizontal","gapLg","map","section","sectionIdx","_section_title","titleId","title","gap","action","XStack","alignItems","gapSm","minWidth","icon","Label","id","size","sizeToken","body","fontSize","fontWeight","textTransform","color","textAccentColor","lineHeight","content","items","length","emptyText","Text","label","item","itemIdx","_item_value","_item_depth","position","getGroupPosition","corners","stackRadiusProps","borderRadius","itemKey","String","ink","active","componentColors","selection","text","primary","metaInk","depth","Math","max","floor","kbFocused","pressable","Boolean","onPress","kbRing","ensureFocusVisibleRing","outlineOffset","outlineColor","Fragment","paddingStart","Separator","hairline","line","overflow","backgroundColor","background","hoverStyle","hover","pressStyle","press","interactive","cursor","userSelect","transitionProps","motion","control","tabIndex","outlineWidth","focusStyle","focusVisibleStyle","onFocus","wasKeyboardFocus","onBlur","prev","onKeyDown","e","_item_onPress","preventDefault","Array","_","level","flexShrink"],"sources":["../../../src/layouts/sidebar.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","sidebar_exports","Sidebar","sidebarMaterial","sidebarMaterialOpacity","sidebarRailInset","module","exports","import_jsx_runtime","require","import_theme","import_theme2","import_react","import_tamagui","import_ScrollView","import_componentColors","import_Text","light","dark","useSidebarMaterial","enabled","_theme_step_slice","theme","useTheme","step","useThemeName","startsWith","base","slice","val","hex","normalizeToHex","backgroundColor","map","i","parseInt","join","param","sections","width","ariaLabel","role","divider","footer","testID","header","children","material","_knobProps_controlIcon","knobProps","useResolvedKnobs","materialProps","headingId","useId","rowPad","panelPadding","padding","iconColumn","Number","controlIcon","kbFocusKey","setKbFocusKey","useState","document","ensureKeyboardModalityTracking","jsxs","YStack","flex","alignSelf","height","minHeight","surface","borderWidth","borderColor","isWeb","borderInlineEndWidth","hairlineWidth","borderInlineEndStyle","className","borderEndWidth","jsx","flexShrink","paddingHorizontal","ScrollView","gapLg","section","sectionIdx","_section_title","titleId","title","gap","action","XStack","alignItems","gapSm","minWidth","icon","Label","id","size","sizeToken","body","fontSize","fontWeight","textTransform","color","textAccentColor","lineHeight","content","items","length","emptyText","Text","label","item","itemIdx","_item_value","_item_depth","position","getGroupPosition","corners","borderRadius","stackRadiusProps","itemKey","String","ink","active","componentColors","selection","text","primary","metaInk","depth","Math","max","floor","kbFocused","pressable","Boolean","onPress","kbRing","ensureFocusVisibleRing","outlineOffset","outlineColor","Fragment","paddingStart","Separator","hairline","line","overflow","background","hoverStyle","hover","pressStyle","press","interactive","cursor","userSelect","transitionProps","motion","control","tabIndex","outlineWidth","focusStyle","focusVisibleStyle","onFocus","wasKeyboardFocus","onBlur","prev","onKeyDown","e","_item_onPress","preventDefault","Array","_","level","IconSlot","justifyContent"],"sources":["../../../src/layouts/sidebar.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@multiplatform.one/components",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.80.0",
|
|
4
4
|
"description": "multiplatform.one ui components",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"components",
|
|
@@ -58,11 +58,11 @@
|
|
|
58
58
|
},
|
|
59
59
|
"dependencies": {
|
|
60
60
|
"@floating-ui/react": "^0.27.20",
|
|
61
|
-
"@multiplatform.one/forms": "^7.
|
|
62
|
-
"@multiplatform.one/i18n": "^7.
|
|
63
|
-
"@multiplatform.one/platform": "^7.
|
|
64
|
-
"@multiplatform.one/router": "^7.
|
|
65
|
-
"@multiplatform.one/theme": "^7.
|
|
61
|
+
"@multiplatform.one/forms": "^7.80.0",
|
|
62
|
+
"@multiplatform.one/i18n": "^7.80.0",
|
|
63
|
+
"@multiplatform.one/platform": "^7.80.0",
|
|
64
|
+
"@multiplatform.one/router": "^7.80.0",
|
|
65
|
+
"@multiplatform.one/theme": "^7.80.0",
|
|
66
66
|
"@phosphor-icons/react": "^2.1.10",
|
|
67
67
|
"@shopify/flash-list": "^2.3.1",
|
|
68
68
|
"@tamagui/colors": "2.7.6",
|
|
@@ -89,9 +89,9 @@
|
|
|
89
89
|
"tamagui": "2.7.6"
|
|
90
90
|
},
|
|
91
91
|
"devDependencies": {
|
|
92
|
-
"@multiplatform.one/config": "7.
|
|
93
|
-
"@multiplatform.one/storybook": "7.
|
|
94
|
-
"@multiplatform.one/test-utils": "7.
|
|
92
|
+
"@multiplatform.one/config": "7.80.0",
|
|
93
|
+
"@multiplatform.one/storybook": "7.80.0",
|
|
94
|
+
"@multiplatform.one/test-utils": "7.80.0",
|
|
95
95
|
"@tamagui/build": "2.7.6",
|
|
96
96
|
"@testing-library/jest-dom": "^7.0.1",
|
|
97
97
|
"@testing-library/react": "^16.3.3",
|
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FZ-7996 (LC-175 MPO-ONLY-REUSE): one composed app frame. An app passes its
|
|
3
|
+
* destinations and the path; the shell picks the phone or the split layout,
|
|
4
|
+
* selects the destination, draws back on a pushed route and steps aside for a
|
|
5
|
+
* route that mounts its own chrome or a page that pins its own top bar.
|
|
6
|
+
*/
|
|
7
|
+
import { renderWithProviders } from "@multiplatform.one/test-utils";
|
|
8
|
+
import { HouseIcon, LightningIcon, SparkleIcon } from "@phosphor-icons/react";
|
|
9
|
+
import { act, cleanup, fireEvent, screen } from "@testing-library/react";
|
|
10
|
+
import { afterEach, describe, expect, it, vi } from "vitest";
|
|
11
|
+
import {
|
|
12
|
+
CONTENT_MAX_WIDTH,
|
|
13
|
+
PageHeader,
|
|
14
|
+
READABLE_MAX_WIDTH,
|
|
15
|
+
Screen,
|
|
16
|
+
ScreenToolbar,
|
|
17
|
+
} from "../layouts/page";
|
|
18
|
+
import { ListPageLayout } from "../layouts/PageTemplates";
|
|
19
|
+
import { AppShell, appShellRoute, type AppShellDestination } from "./AppShell";
|
|
20
|
+
|
|
21
|
+
const size = vi.hoisted(() => ({ value: "compact" as string }));
|
|
22
|
+
vi.mock("@multiplatform.one/theme", async (importOriginal) => ({
|
|
23
|
+
...(await importOriginal<typeof import("@multiplatform.one/theme")>()),
|
|
24
|
+
useLayoutSizeClass: () => size.value,
|
|
25
|
+
}));
|
|
26
|
+
|
|
27
|
+
afterEach(() => {
|
|
28
|
+
cleanup();
|
|
29
|
+
size.value = "compact";
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
const destinations: AppShellDestination[] = [
|
|
33
|
+
{ key: "/", label: "Home", icon: HouseIcon },
|
|
34
|
+
{ key: "/pokemon", label: "Pokemon", icon: SparkleIcon },
|
|
35
|
+
{ key: "/moves", label: "Moves", icon: LightningIcon, placement: "more" },
|
|
36
|
+
];
|
|
37
|
+
|
|
38
|
+
function shell(path: string, props: Partial<Parameters<typeof AppShell>[0]> = {}) {
|
|
39
|
+
const onNavigate = vi.fn();
|
|
40
|
+
const onBack = vi.fn();
|
|
41
|
+
const view = renderWithProviders(
|
|
42
|
+
<AppShell
|
|
43
|
+
destinations={destinations}
|
|
44
|
+
path={path}
|
|
45
|
+
onNavigate={onNavigate}
|
|
46
|
+
onBack={onBack}
|
|
47
|
+
title="multiplatform.one"
|
|
48
|
+
logo={<span data-testid="logo" />}
|
|
49
|
+
actions={<button type="button">Theme</button>}
|
|
50
|
+
ownChrome={["/desk"]}
|
|
51
|
+
{...props}
|
|
52
|
+
>
|
|
53
|
+
{props.children ?? <span data-testid="page">page</span>}
|
|
54
|
+
</AppShell>,
|
|
55
|
+
);
|
|
56
|
+
return { ...view, onNavigate, onBack };
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
describe("appShellRoute", () => {
|
|
60
|
+
it("selects the longest destination the path sits under", () => {
|
|
61
|
+
expect(appShellRoute(destinations, "/")).toMatchObject({ pushed: false });
|
|
62
|
+
expect(appShellRoute(destinations, "/").destination?.key).toBe("/");
|
|
63
|
+
expect(appShellRoute(destinations, "/pokemon").destination?.key).toBe("/pokemon");
|
|
64
|
+
expect(appShellRoute(destinations, "/pokemon/").pushed).toBe(false);
|
|
65
|
+
const detail = appShellRoute(destinations, "/pokemon/pikachu");
|
|
66
|
+
expect(detail.destination?.key).toBe("/pokemon");
|
|
67
|
+
expect(detail.pushed).toBe(true);
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
it("matches no destination outside them, and '/' only exactly", () => {
|
|
71
|
+
expect(appShellRoute(destinations, "/todos").destination).toBeUndefined();
|
|
72
|
+
expect(appShellRoute(destinations, "/pokemonx").destination).toBeUndefined();
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
describe("AppShell on a phone", () => {
|
|
77
|
+
it("draws the nav bar, the content and the tab bar of the tab destinations", () => {
|
|
78
|
+
shell("/pokemon");
|
|
79
|
+
expect(screen.getByTestId("app-shell").getAttribute("data-size")).toBe("compact");
|
|
80
|
+
expect(screen.getByTestId("app-shell-bar")).toBeTruthy();
|
|
81
|
+
expect(screen.getByTestId("page")).toBeTruthy();
|
|
82
|
+
const tabs = screen.getAllByRole("tab");
|
|
83
|
+
expect(tabs.map((tab) => tab.getAttribute("aria-label"))).toEqual(["Home", "Pokemon"]);
|
|
84
|
+
expect(tabs[1]!.getAttribute("aria-selected")).toBe("true");
|
|
85
|
+
expect(screen.queryByTestId("app-shell-sidebar")).toBeNull();
|
|
86
|
+
});
|
|
87
|
+
|
|
88
|
+
it("navigates from a tab", () => {
|
|
89
|
+
const { onNavigate } = shell("/pokemon");
|
|
90
|
+
fireEvent.click(screen.getAllByRole("tab")[0]!);
|
|
91
|
+
expect(onNavigate).toHaveBeenCalledWith("/");
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
it("puts the more destinations in the bar's pull-down", () => {
|
|
95
|
+
shell("/");
|
|
96
|
+
expect(screen.getByTestId("app-shell-more")).toBeTruthy();
|
|
97
|
+
});
|
|
98
|
+
|
|
99
|
+
it("draws the pull-down trigger as the bar's icon action, a bare accent glyph (LC-176)", () => {
|
|
100
|
+
shell("/");
|
|
101
|
+
expect(
|
|
102
|
+
screen
|
|
103
|
+
.getByTestId("app-shell-more")
|
|
104
|
+
.closest("[data-top-bar-control]")
|
|
105
|
+
?.getAttribute("data-top-bar-control"),
|
|
106
|
+
).toBe("action");
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
it("leads with the app's mark at a tab root and a tinted back on a pushed route", () => {
|
|
110
|
+
shell("/pokemon");
|
|
111
|
+
expect(screen.getByTestId("app-shell-home").getAttribute("aria-label")).toBe(
|
|
112
|
+
"multiplatform.one",
|
|
113
|
+
);
|
|
114
|
+
cleanup();
|
|
115
|
+
const { onBack } = shell("/pokemon/pikachu");
|
|
116
|
+
const back = document.querySelector("[data-top-bar-control='back']") as HTMLElement;
|
|
117
|
+
expect(back.textContent).toContain("Pokemon");
|
|
118
|
+
fireEvent.click(back);
|
|
119
|
+
expect(onBack).toHaveBeenCalledWith("/pokemon");
|
|
120
|
+
expect(screen.getAllByRole("tab")[1]!.getAttribute("aria-selected")).toBe("true");
|
|
121
|
+
});
|
|
122
|
+
|
|
123
|
+
it("shows the destination as the inline title when the page has no large title", () => {
|
|
124
|
+
shell("/pokemon");
|
|
125
|
+
const title = screen.getByTestId("app-shell-bar-title");
|
|
126
|
+
expect(title.textContent).toBe("Pokemon");
|
|
127
|
+
expect(title.getAttribute("aria-hidden")).toBe("false");
|
|
128
|
+
});
|
|
129
|
+
|
|
130
|
+
it("keeps the page's large title out of the bar until it scrolls away", () => {
|
|
131
|
+
shell("/pokemon", {
|
|
132
|
+
children: (
|
|
133
|
+
<Screen>
|
|
134
|
+
<PageHeader title="All Pokemon" />
|
|
135
|
+
</Screen>
|
|
136
|
+
),
|
|
137
|
+
});
|
|
138
|
+
const title = screen.getByTestId("app-shell-bar-title");
|
|
139
|
+
expect(title.textContent).toBe("All Pokemon");
|
|
140
|
+
expect(title.getAttribute("aria-hidden")).toBe("true");
|
|
141
|
+
});
|
|
142
|
+
|
|
143
|
+
it("steps aside for a page that pins its own top bar", () => {
|
|
144
|
+
shell("/pokemon/pikachu", {
|
|
145
|
+
children: (
|
|
146
|
+
<Screen topBar={<ScreenToolbar leading={<span>own back</span>} />}>
|
|
147
|
+
<span>record</span>
|
|
148
|
+
</Screen>
|
|
149
|
+
),
|
|
150
|
+
});
|
|
151
|
+
expect(screen.queryByTestId("app-shell-bar")).toBeNull();
|
|
152
|
+
expect(screen.getByText("own back")).toBeTruthy();
|
|
153
|
+
expect(screen.getAllByRole("tab")).toHaveLength(2);
|
|
154
|
+
});
|
|
155
|
+
|
|
156
|
+
it("draws no tab bar outside the tab destinations", () => {
|
|
157
|
+
shell("/todos");
|
|
158
|
+
expect(screen.queryByRole("tablist")).toBeNull();
|
|
159
|
+
expect(screen.getByTestId("app-shell-bar")).toBeTruthy();
|
|
160
|
+
});
|
|
161
|
+
|
|
162
|
+
it("hands the bottom accessory to the tab bar, which floats it above its row (LC-174)", () => {
|
|
163
|
+
shell("/pokemon", { accessory: <span data-testid="pager">pager</span> });
|
|
164
|
+
const accessory = screen.getByTestId("tab-bar-accessory");
|
|
165
|
+
expect(accessory.contains(screen.getByTestId("pager"))).toBe(true);
|
|
166
|
+
expect(screen.getByTestId("tab-bar").contains(accessory)).toBe(true);
|
|
167
|
+
const tablist = screen.getByRole("tablist");
|
|
168
|
+
expect(accessory.compareDocumentPosition(tablist) & Node.DOCUMENT_POSITION_FOLLOWING).toBe(
|
|
169
|
+
Node.DOCUMENT_POSITION_FOLLOWING,
|
|
170
|
+
);
|
|
171
|
+
});
|
|
172
|
+
|
|
173
|
+
it("still hosts the accessory on a pushed route, where no tab bar shows", () => {
|
|
174
|
+
shell("/todos", { accessory: <span data-testid="pager">pager</span> });
|
|
175
|
+
expect(screen.queryByRole("tablist")).toBeNull();
|
|
176
|
+
const frame = screen.getByTestId("app-shell-content").parentElement;
|
|
177
|
+
expect(frame?.contains(screen.getByTestId("pager"))).toBe(true);
|
|
178
|
+
});
|
|
179
|
+
|
|
180
|
+
it("draws nothing around a route that mounts its own chrome", () => {
|
|
181
|
+
shell("/desk/Pokemon");
|
|
182
|
+
expect(screen.getByTestId("app-shell").getAttribute("data-chrome")).toBe("own");
|
|
183
|
+
expect(screen.queryByTestId("app-shell-bar")).toBeNull();
|
|
184
|
+
expect(screen.queryByRole("tablist")).toBeNull();
|
|
185
|
+
expect(screen.getByTestId("page")).toBeTruthy();
|
|
186
|
+
});
|
|
187
|
+
});
|
|
188
|
+
|
|
189
|
+
describe("AppShell at regular width", () => {
|
|
190
|
+
it("lists every destination in the sidebar, under the app's name, and no tab bar", () => {
|
|
191
|
+
size.value = "expanded";
|
|
192
|
+
const { onNavigate } = shell("/pokemon/pikachu");
|
|
193
|
+
expect(screen.getByTestId("app-shell").getAttribute("data-size")).toBe("regular");
|
|
194
|
+
const sidebar = screen.getByTestId("app-shell-sidebar");
|
|
195
|
+
expect(sidebar.textContent).toContain("multiplatform.one");
|
|
196
|
+
const rows = sidebar.querySelectorAll("[data-sidebar-row]");
|
|
197
|
+
expect([...rows].map((row) => row.textContent)).toEqual(["Home", "Pokemon", "Moves"]);
|
|
198
|
+
expect(rows[1]!.getAttribute("aria-current")).toBe("page");
|
|
199
|
+
fireEvent.click(rows[2]!);
|
|
200
|
+
expect(onNavigate).toHaveBeenCalledWith("/moves");
|
|
201
|
+
expect(screen.queryByRole("tablist")).toBeNull();
|
|
202
|
+
expect(screen.queryByTestId("app-shell-more")).toBeNull();
|
|
203
|
+
});
|
|
204
|
+
|
|
205
|
+
it("puts the app's actions at the sidebar's foot and draws no bar on a destination root", () => {
|
|
206
|
+
size.value = "expanded";
|
|
207
|
+
shell("/pokemon");
|
|
208
|
+
const actions = screen.getByTestId("app-shell-sidebar-actions");
|
|
209
|
+
expect(actions.textContent).toContain("Theme");
|
|
210
|
+
expect(screen.getByTestId("app-shell-sidebar").contains(actions)).toBe(true);
|
|
211
|
+
expect(screen.queryByTestId("app-shell-bar")).toBeNull();
|
|
212
|
+
});
|
|
213
|
+
|
|
214
|
+
it("draws the bar with the tinted back on a pushed route, without the actions", () => {
|
|
215
|
+
size.value = "expanded";
|
|
216
|
+
const { onBack } = shell("/pokemon/pikachu");
|
|
217
|
+
const bar = screen.getByTestId("app-shell-bar");
|
|
218
|
+
expect(bar.textContent).toContain("Pokemon");
|
|
219
|
+
expect(bar.textContent).not.toContain("Theme");
|
|
220
|
+
fireEvent.click(bar.querySelector('[data-top-bar-control="back"]') as HTMLElement);
|
|
221
|
+
expect(onBack).toHaveBeenCalledWith("/pokemon");
|
|
222
|
+
});
|
|
223
|
+
|
|
224
|
+
it("centres the content in the readable column", () => {
|
|
225
|
+
size.value = "expanded";
|
|
226
|
+
shell("/pokemon");
|
|
227
|
+
const readable = screen.getByTestId("app-shell-readable");
|
|
228
|
+
expect(screen.getByTestId("app-shell-content").contains(readable)).toBe(true);
|
|
229
|
+
expect(readable.contains(screen.getByTestId("page"))).toBe(true);
|
|
230
|
+
expect(READABLE_MAX_WIDTH).toBeLessThan(CONTENT_MAX_WIDTH);
|
|
231
|
+
});
|
|
232
|
+
|
|
233
|
+
it("puts the app's name in the sidebar's pinned header", () => {
|
|
234
|
+
size.value = "expanded";
|
|
235
|
+
shell("/pokemon");
|
|
236
|
+
const header = screen
|
|
237
|
+
.getByTestId("app-shell-sidebar")
|
|
238
|
+
.querySelector("[data-sidebar-header]") as HTMLElement;
|
|
239
|
+
expect(header.textContent).toContain("multiplatform.one");
|
|
240
|
+
});
|
|
241
|
+
|
|
242
|
+
it("stacks a page's panel under the sidebar's rows (LC-101)", async () => {
|
|
243
|
+
size.value = "expanded";
|
|
244
|
+
await act(async () => {
|
|
245
|
+
shell("/pokemon", {
|
|
246
|
+
children: (
|
|
247
|
+
<ListPageLayout title="Pokemon" sidebar={<span>filters</span>} sidebarLabel="Filters">
|
|
248
|
+
<span>grid</span>
|
|
249
|
+
</ListPageLayout>
|
|
250
|
+
),
|
|
251
|
+
});
|
|
252
|
+
});
|
|
253
|
+
const panel = screen.getByTestId("app-shell-page-panel");
|
|
254
|
+
expect(panel.textContent).toContain("Filters");
|
|
255
|
+
expect(panel.textContent).toContain("filters");
|
|
256
|
+
expect(screen.getByTestId("app-shell-sidebar").contains(panel)).toBe(true);
|
|
257
|
+
expect(screen.queryByTestId("list-page-sidebar")).toBeNull();
|
|
258
|
+
});
|
|
259
|
+
});
|