@dloizides/ui-nav 1.29.0 → 1.31.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/index.d.mts +29 -19
- package/dist/index.d.ts +29 -19
- package/dist/index.js +89 -45
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +90 -47
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { useState, useCallback, useMemo, useEffect, useRef } from 'react';
|
|
2
|
-
import { StyleSheet, Platform, Pressable, Text, View, TextInput, useWindowDimensions, ScrollView, ActivityIndicator, Animated } from 'react-native';
|
|
2
|
+
import { StyleSheet, Platform, Pressable, Text, View, TextInput, useWindowDimensions, Image, ScrollView, ActivityIndicator, Animated } from 'react-native';
|
|
3
3
|
import { useUi, UiProvider } from '@dloizides/ui-feedback';
|
|
4
4
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
5
5
|
import { Collapse, motionDurations, motionEasings } from '@dloizides/ui-motion';
|
|
@@ -28,6 +28,9 @@ var navStyles = StyleSheet.create({
|
|
|
28
28
|
borderRightWidth: 1,
|
|
29
29
|
height: "100%"
|
|
30
30
|
},
|
|
31
|
+
sidebarBrand: {
|
|
32
|
+
marginBottom: 12
|
|
33
|
+
},
|
|
31
34
|
sidebarTitle: {
|
|
32
35
|
fontWeight: "700",
|
|
33
36
|
marginBottom: 12
|
|
@@ -815,7 +818,7 @@ var Sidebar = ({
|
|
|
815
818
|
containerStyle
|
|
816
819
|
],
|
|
817
820
|
children: [
|
|
818
|
-
/* @__PURE__ */ jsx(Text, { accessibilityRole: "header", style: [navStyles.sidebarTitle, { color: colors.text }], children: title }),
|
|
821
|
+
typeof title === "string" ? /* @__PURE__ */ jsx(Text, { accessibilityRole: "header", style: [navStyles.sidebarTitle, { color: colors.text }], children: title }) : /* @__PURE__ */ jsx(View, { style: navStyles.sidebarBrand, children: title }),
|
|
819
822
|
showInlineSearch && search !== void 0 ? /* @__PURE__ */ jsx(
|
|
820
823
|
SidebarSearch,
|
|
821
824
|
{
|
|
@@ -878,7 +881,9 @@ var NAV_TEST_IDS = {
|
|
|
878
881
|
pillNavMenu: "pill-nav-menu",
|
|
879
882
|
/** the optional middle slot of `Topbar` (rendered only when `center` is passed). */
|
|
880
883
|
topbarCenter: "topbar-center",
|
|
881
|
-
brandHome: "nav-brand-home"
|
|
884
|
+
brandHome: "nav-brand-home",
|
|
885
|
+
brandMarkIcon: "nav-brand-mark-icon",
|
|
886
|
+
brandMarkName: "nav-brand-mark-name"
|
|
882
887
|
};
|
|
883
888
|
var APP_SHELL_SUFFIX = {
|
|
884
889
|
content: "-content",
|
|
@@ -1566,6 +1571,44 @@ var BrandHomeLink = ({ route, label, onNavigate, children }) => {
|
|
|
1566
1571
|
}
|
|
1567
1572
|
);
|
|
1568
1573
|
};
|
|
1574
|
+
var DEFAULT_ICON_SIZE = 32;
|
|
1575
|
+
var NAME_FONT_SIZE = 16;
|
|
1576
|
+
var NAME_GAP = 8;
|
|
1577
|
+
var styles4 = StyleSheet.create({
|
|
1578
|
+
name: { flexShrink: 1, fontSize: NAME_FONT_SIZE, fontWeight: "700" },
|
|
1579
|
+
row: { alignItems: "center", flexDirection: "row", gap: NAME_GAP }
|
|
1580
|
+
});
|
|
1581
|
+
var BrandMark = ({
|
|
1582
|
+
source,
|
|
1583
|
+
name,
|
|
1584
|
+
route,
|
|
1585
|
+
label,
|
|
1586
|
+
onNavigate,
|
|
1587
|
+
size = DEFAULT_ICON_SIZE,
|
|
1588
|
+
iconOnly = false
|
|
1589
|
+
}) => {
|
|
1590
|
+
const { theme } = useUi();
|
|
1591
|
+
return /* @__PURE__ */ jsx(BrandHomeLink, { label, route, onNavigate, children: /* @__PURE__ */ jsxs(View, { style: styles4.row, children: [
|
|
1592
|
+
/* @__PURE__ */ jsx(
|
|
1593
|
+
Image,
|
|
1594
|
+
{
|
|
1595
|
+
accessibilityElementsHidden: true,
|
|
1596
|
+
source,
|
|
1597
|
+
style: { height: size, width: size },
|
|
1598
|
+
testID: NAV_TEST_IDS.brandMarkIcon
|
|
1599
|
+
}
|
|
1600
|
+
),
|
|
1601
|
+
iconOnly ? null : /* @__PURE__ */ jsx(
|
|
1602
|
+
Text,
|
|
1603
|
+
{
|
|
1604
|
+
numberOfLines: 1,
|
|
1605
|
+
style: [styles4.name, { color: theme.colors.text }],
|
|
1606
|
+
testID: NAV_TEST_IDS.brandMarkName,
|
|
1607
|
+
children: name
|
|
1608
|
+
}
|
|
1609
|
+
)
|
|
1610
|
+
] }) });
|
|
1611
|
+
};
|
|
1569
1612
|
var Nav = (props) => {
|
|
1570
1613
|
if (props.orientation === "vertical") {
|
|
1571
1614
|
return /* @__PURE__ */ jsx(Sidebar, { ...props });
|
|
@@ -1583,7 +1626,7 @@ function resolveRailMode({ viewport, hasSidebar, hasCollapsed, range }) {
|
|
|
1583
1626
|
}
|
|
1584
1627
|
return viewport >= RAIL_FULL_BREAKPOINT ? "full" : "drawer";
|
|
1585
1628
|
}
|
|
1586
|
-
var
|
|
1629
|
+
var styles5 = StyleSheet.create({
|
|
1587
1630
|
band: { left: 0, position: "absolute", right: 0, top: 0 }
|
|
1588
1631
|
});
|
|
1589
1632
|
function readBackdrop(theme) {
|
|
@@ -1606,7 +1649,7 @@ function resolveShellBackdrop(theme, viewport, contentPadding, testID) {
|
|
|
1606
1649
|
View,
|
|
1607
1650
|
{
|
|
1608
1651
|
pointerEvents: "none",
|
|
1609
|
-
style: [
|
|
1652
|
+
style: [styles5.band, { backgroundColor: band.color, height: contentPadding + overlap }],
|
|
1610
1653
|
testID: `${testID}${APP_SHELL_SUFFIX.band}`
|
|
1611
1654
|
}
|
|
1612
1655
|
);
|
|
@@ -1618,7 +1661,7 @@ var CARD_BORDER_WIDTH = 1;
|
|
|
1618
1661
|
var CARD_TITLE_FONT_SIZE = 16;
|
|
1619
1662
|
var CARD_MESSAGE_FONT_SIZE = 14;
|
|
1620
1663
|
var CARD_TITLE_MARGIN_BOTTOM = 8;
|
|
1621
|
-
var
|
|
1664
|
+
var styles6 = StyleSheet.create({
|
|
1622
1665
|
// Loading is a TRANSITIONAL state: the spinner is an absolute overlay ON TOP of
|
|
1623
1666
|
// stably-mounted children, never a replacement for them. Replacing children here
|
|
1624
1667
|
// would unmount whatever they host (e.g. a navigator), and on remount React
|
|
@@ -1650,9 +1693,9 @@ function MessageCard({
|
|
|
1650
1693
|
}) {
|
|
1651
1694
|
const { theme } = useUi();
|
|
1652
1695
|
const colors = theme.colors;
|
|
1653
|
-
return /* @__PURE__ */ jsxs(View, { style: [
|
|
1654
|
-
/* @__PURE__ */ jsx(Text, { style: [
|
|
1655
|
-
/* @__PURE__ */ jsx(Text, { style: [
|
|
1696
|
+
return /* @__PURE__ */ jsxs(View, { style: [styles6.card, { backgroundColor: colors.surface, borderColor: accentColor }], testID, children: [
|
|
1697
|
+
/* @__PURE__ */ jsx(Text, { style: [styles6.cardTitle, { color: accentColor }], children: message.titleText }),
|
|
1698
|
+
/* @__PURE__ */ jsx(Text, { style: [styles6.cardMessage, { color: colors.textSecondary }], children: message.messageText })
|
|
1656
1699
|
] });
|
|
1657
1700
|
}
|
|
1658
1701
|
function useContentBody(state, children, testID) {
|
|
@@ -1664,12 +1707,12 @@ function useContentBody(state, children, testID) {
|
|
|
1664
1707
|
return /* @__PURE__ */ jsx(MessageCard, { accentColor: errorColor, message: state.forbidden, testID: `${testID}${APP_SHELL_SUFFIX.forbidden}` });
|
|
1665
1708
|
if (state.error)
|
|
1666
1709
|
return /* @__PURE__ */ jsx(MessageCard, { accentColor: errorColor, message: state.error, testID: `${testID}${APP_SHELL_SUFFIX.error}` });
|
|
1667
|
-
return /* @__PURE__ */ jsxs(View, { style:
|
|
1710
|
+
return /* @__PURE__ */ jsxs(View, { style: styles6.loadingHost, children: [
|
|
1668
1711
|
children,
|
|
1669
1712
|
state.loading === true ? /* @__PURE__ */ jsx(
|
|
1670
1713
|
View,
|
|
1671
1714
|
{
|
|
1672
|
-
style: [
|
|
1715
|
+
style: [styles6.loadingOverlay, { backgroundColor: theme.colors.background }],
|
|
1673
1716
|
testID: `${testID}${APP_SHELL_SUFFIX.loading}`,
|
|
1674
1717
|
children: /* @__PURE__ */ jsx(ActivityIndicator, { color: primary, size: "large" })
|
|
1675
1718
|
}
|
|
@@ -1696,7 +1739,7 @@ var DEFAULT_DRAWER_LABELS = {
|
|
|
1696
1739
|
closeLabel: "Close menu",
|
|
1697
1740
|
closeHint: "Close the navigation menu"
|
|
1698
1741
|
};
|
|
1699
|
-
var
|
|
1742
|
+
var styles7 = StyleSheet.create({
|
|
1700
1743
|
overlay: { ...StyleSheet.absoluteFillObject, zIndex: DRAWER_Z_INDEX },
|
|
1701
1744
|
// The scrim's tap-to-close hit area is anchored to the RIGHT of the panel
|
|
1702
1745
|
// (`left: DRAWER_WIDTH`), so it NEVER overlaps the panel: nav-item taps always
|
|
@@ -1731,10 +1774,10 @@ var MenuToggle = ({ label, hint, onOpen, testID }) => {
|
|
|
1731
1774
|
accessibilityHint: hint,
|
|
1732
1775
|
accessibilityLabel: label,
|
|
1733
1776
|
ringColor: theme.palette.primary["500"],
|
|
1734
|
-
style:
|
|
1777
|
+
style: styles7.menuToggle,
|
|
1735
1778
|
testID,
|
|
1736
1779
|
onPress: onOpen,
|
|
1737
|
-
children: /* @__PURE__ */ jsx(Text, { style: [
|
|
1780
|
+
children: /* @__PURE__ */ jsx(Text, { style: [styles7.menuToggleGlyph, { color: theme.colors.text }], children: MENU_GLYPH2 })
|
|
1738
1781
|
}
|
|
1739
1782
|
);
|
|
1740
1783
|
};
|
|
@@ -1760,14 +1803,14 @@ var MobileDrawer = ({
|
|
|
1760
1803
|
node.addEventListener("click", handleClick);
|
|
1761
1804
|
return () => node.removeEventListener("click", handleClick);
|
|
1762
1805
|
}, [onClose]);
|
|
1763
|
-
return /* @__PURE__ */ jsxs(View, { style:
|
|
1806
|
+
return /* @__PURE__ */ jsxs(View, { style: styles7.overlay, children: [
|
|
1764
1807
|
/* @__PURE__ */ jsx(
|
|
1765
1808
|
Pressable,
|
|
1766
1809
|
{
|
|
1767
1810
|
accessibilityHint: labels.closeHint,
|
|
1768
1811
|
accessibilityLabel: labels.closeLabel,
|
|
1769
1812
|
accessibilityRole: "button",
|
|
1770
|
-
style:
|
|
1813
|
+
style: styles7.scrim,
|
|
1771
1814
|
testID: scrimTestID,
|
|
1772
1815
|
onPress: onClose
|
|
1773
1816
|
}
|
|
@@ -1778,7 +1821,7 @@ var MobileDrawer = ({
|
|
|
1778
1821
|
ref: panelRef,
|
|
1779
1822
|
"aria-modal": true,
|
|
1780
1823
|
role: "dialog",
|
|
1781
|
-
style: [
|
|
1824
|
+
style: [styles7.panel, { backgroundColor: theme.colors.surface }],
|
|
1782
1825
|
testID: drawerTestID,
|
|
1783
1826
|
children: renderTextSlot(sidebar, { color: theme.colors.text })
|
|
1784
1827
|
}
|
|
@@ -1796,7 +1839,7 @@ function useContentMaxWidth(width) {
|
|
|
1796
1839
|
return resolveContentMaxWidth(width, viewport);
|
|
1797
1840
|
}
|
|
1798
1841
|
var DEFAULT_CONTENT_PADDING = 24;
|
|
1799
|
-
var
|
|
1842
|
+
var styles8 = StyleSheet.create({
|
|
1800
1843
|
root: { flex: 1 },
|
|
1801
1844
|
// Auth-pending spinner: an opaque absolute overlay over the mounted shell, so
|
|
1802
1845
|
// `children` (and any navigator they host) are never unmounted while the gate
|
|
@@ -1858,13 +1901,13 @@ var AppShell = ({
|
|
|
1858
1901
|
}, [isUnauthenticated, gate]);
|
|
1859
1902
|
const gatePending = gate?.pending === true;
|
|
1860
1903
|
if (isUnauthenticated) return null;
|
|
1861
|
-
const columnStyle = maxWidth === "full" ?
|
|
1862
|
-
const navInnerStyle = chromeAlignment === "content" && maxWidth !== "full" ? [
|
|
1904
|
+
const columnStyle = maxWidth === "full" ? styles8.columnFull : [styles8.columnCapped, { maxWidth }];
|
|
1905
|
+
const navInnerStyle = chromeAlignment === "content" && maxWidth !== "full" ? [styles8.chromeCapped, { maxWidth, paddingHorizontal: contentPadding }] : void 0;
|
|
1863
1906
|
const scroller = /* @__PURE__ */ jsxs(
|
|
1864
1907
|
ScrollView,
|
|
1865
1908
|
{
|
|
1866
|
-
contentContainerStyle: [
|
|
1867
|
-
style:
|
|
1909
|
+
contentContainerStyle: [styles8.scrollContent, { padding: contentPadding }],
|
|
1910
|
+
style: styles8.scroll,
|
|
1868
1911
|
testID: `${testID}${APP_SHELL_SUFFIX.content}`,
|
|
1869
1912
|
children: [
|
|
1870
1913
|
look.band,
|
|
@@ -1872,7 +1915,7 @@ var AppShell = ({
|
|
|
1872
1915
|
]
|
|
1873
1916
|
}
|
|
1874
1917
|
);
|
|
1875
|
-
const headerRegion = useDrawer ? /* @__PURE__ */ jsxs(View, { style: [
|
|
1918
|
+
const headerRegion = useDrawer ? /* @__PURE__ */ jsxs(View, { style: [styles8.headerRow, look.chrome], testID: `${testID}${APP_SHELL_SUFFIX.header}`, children: [
|
|
1876
1919
|
/* @__PURE__ */ jsx(
|
|
1877
1920
|
MenuToggle,
|
|
1878
1921
|
{
|
|
@@ -1882,14 +1925,14 @@ var AppShell = ({
|
|
|
1882
1925
|
onOpen: openDrawer
|
|
1883
1926
|
}
|
|
1884
1927
|
),
|
|
1885
|
-
/* @__PURE__ */ jsx(View, { style:
|
|
1928
|
+
/* @__PURE__ */ jsx(View, { style: styles8.headerFill, children: renderTextSlot(header, { color: look.chromeText }) })
|
|
1886
1929
|
] }) : /* @__PURE__ */ jsx(View, { style: look.chrome, testID: `${testID}${APP_SHELL_SUFFIX.header}`, children: renderTextSlot(header, { color: look.chromeText }) });
|
|
1887
1930
|
const railRegion = railMode === "full" ? /* @__PURE__ */ jsx(View, { testID: `${testID}${APP_SHELL_SUFFIX.sidebar}`, children: renderTextSlot(sidebar, { color: theme.colors.text }) }) : railMode === "collapsed" ? /* @__PURE__ */ jsx(View, { testID: `${testID}${APP_SHELL_SUFFIX.collapsedSidebar}`, children: renderTextSlot(collapsedSidebar, { color: theme.colors.text }) }) : null;
|
|
1888
|
-
return /* @__PURE__ */ jsxs(View, { style: [
|
|
1931
|
+
return /* @__PURE__ */ jsxs(View, { style: [styles8.root, look.root], testID, children: [
|
|
1889
1932
|
headerRegion,
|
|
1890
1933
|
nav !== void 0 ? /* @__PURE__ */ jsx(View, { style: look.chrome, testID: `${testID}${APP_SHELL_SUFFIX.nav}`, children: navInnerStyle !== void 0 ? /* @__PURE__ */ jsx(View, { style: navInnerStyle, children: renderTextSlot(nav, { color: look.chromeText }) }) : renderTextSlot(nav, { color: look.chromeText }) }) : null,
|
|
1891
1934
|
banner !== void 0 ? /* @__PURE__ */ jsx(View, { testID: `${testID}${APP_SHELL_SUFFIX.banner}`, children: renderTextSlot(banner, { color: theme.colors.text }) }) : null,
|
|
1892
|
-
railRegion !== null ? /* @__PURE__ */ jsxs(View, { style:
|
|
1935
|
+
railRegion !== null ? /* @__PURE__ */ jsxs(View, { style: styles8.bodyRow, children: [
|
|
1893
1936
|
railRegion,
|
|
1894
1937
|
scroller
|
|
1895
1938
|
] }) : scroller,
|
|
@@ -1906,7 +1949,7 @@ var AppShell = ({
|
|
|
1906
1949
|
gatePending ? /* @__PURE__ */ jsx(
|
|
1907
1950
|
View,
|
|
1908
1951
|
{
|
|
1909
|
-
style: [
|
|
1952
|
+
style: [styles8.pendingOverlay, { backgroundColor: theme.colors.background }],
|
|
1910
1953
|
testID: `${testID}${APP_SHELL_SUFFIX.pending}`,
|
|
1911
1954
|
children: /* @__PURE__ */ jsx(ActivityIndicator, { color: primary, size: "large" })
|
|
1912
1955
|
}
|
|
@@ -2027,7 +2070,7 @@ var NavShell = ({
|
|
|
2027
2070
|
renderChevron: sideRail.renderChevron,
|
|
2028
2071
|
search: sideRail.search,
|
|
2029
2072
|
searchQuery: sideRail.searchQuery,
|
|
2030
|
-
title: sideRail.title,
|
|
2073
|
+
title: sideRail.brand ?? sideRail.title,
|
|
2031
2074
|
onNavigate,
|
|
2032
2075
|
onSearchChange: sideRail.onSearchChange
|
|
2033
2076
|
}
|
|
@@ -2273,7 +2316,7 @@ var KEY_DOWN = "ArrowDown";
|
|
|
2273
2316
|
var KEY_UP = "ArrowUp";
|
|
2274
2317
|
var KEY_ENTER = "Enter";
|
|
2275
2318
|
var KEY_ESCAPE = "Escape";
|
|
2276
|
-
var
|
|
2319
|
+
var styles9 = StyleSheet.create({
|
|
2277
2320
|
overlay: { ...StyleSheet.absoluteFillObject, zIndex: OVERLAY_Z_INDEX, alignItems: "center" },
|
|
2278
2321
|
scrim: { ...StyleSheet.absoluteFillObject, backgroundColor: SCRIM_COLOR2 },
|
|
2279
2322
|
panel: {
|
|
@@ -2302,14 +2345,14 @@ var PaletteRow = ({ item, selected, onChoose }) => {
|
|
|
2302
2345
|
accessibilityLabel: item.label,
|
|
2303
2346
|
accessibilityRole: "button",
|
|
2304
2347
|
accessibilityState: { selected },
|
|
2305
|
-
style: [
|
|
2348
|
+
style: [styles9.row, selected ? { backgroundColor: colors.border } : void 0],
|
|
2306
2349
|
testID: item.testID ?? item.key,
|
|
2307
2350
|
onPress: () => onChoose(item),
|
|
2308
2351
|
children: [
|
|
2309
2352
|
typeof item.renderIcon === "function" ? item.renderIcon(colors.textSecondary, NAV_ICON_SIZE) : null,
|
|
2310
|
-
/* @__PURE__ */ jsxs(View, { style:
|
|
2311
|
-
/* @__PURE__ */ jsx(Text, { style: [
|
|
2312
|
-
item.hint ? /* @__PURE__ */ jsx(Text, { style: [
|
|
2353
|
+
/* @__PURE__ */ jsxs(View, { style: styles9.rowText, children: [
|
|
2354
|
+
/* @__PURE__ */ jsx(Text, { style: [styles9.rowLabel, { color: colors.text }], children: item.label }),
|
|
2355
|
+
item.hint ? /* @__PURE__ */ jsx(Text, { style: [styles9.rowHint, { color: colors.textSecondary }], children: item.hint }) : null
|
|
2313
2356
|
] })
|
|
2314
2357
|
]
|
|
2315
2358
|
}
|
|
@@ -2349,14 +2392,14 @@ var CommandPalette = ({ open, items, onClose, labels, testID }) => {
|
|
|
2349
2392
|
[results, selected, choose, onClose]
|
|
2350
2393
|
);
|
|
2351
2394
|
if (!open) return null;
|
|
2352
|
-
return /* @__PURE__ */ jsxs(View, { style:
|
|
2395
|
+
return /* @__PURE__ */ jsxs(View, { style: styles9.overlay, children: [
|
|
2353
2396
|
/* @__PURE__ */ jsx(
|
|
2354
2397
|
Pressable,
|
|
2355
2398
|
{
|
|
2356
2399
|
accessibilityHint: labels.closeHint,
|
|
2357
2400
|
accessibilityLabel: labels.closeLabel,
|
|
2358
2401
|
accessibilityRole: "button",
|
|
2359
|
-
style:
|
|
2402
|
+
style: styles9.scrim,
|
|
2360
2403
|
testID: `${testID ?? "command-palette"}-scrim`,
|
|
2361
2404
|
onPress: onClose
|
|
2362
2405
|
}
|
|
@@ -2367,7 +2410,7 @@ var CommandPalette = ({ open, items, onClose, labels, testID }) => {
|
|
|
2367
2410
|
"aria-modal": true,
|
|
2368
2411
|
"aria-label": labels.regionLabel,
|
|
2369
2412
|
role: "dialog",
|
|
2370
|
-
style: [
|
|
2413
|
+
style: [styles9.panel, { backgroundColor: colors.surface, borderColor: colors.border }],
|
|
2371
2414
|
testID: testID ?? "command-palette",
|
|
2372
2415
|
children: [
|
|
2373
2416
|
/* @__PURE__ */ jsx(
|
|
@@ -2377,14 +2420,14 @@ var CommandPalette = ({ open, items, onClose, labels, testID }) => {
|
|
|
2377
2420
|
accessibilityLabel: labels.placeholder,
|
|
2378
2421
|
placeholder: labels.placeholder,
|
|
2379
2422
|
placeholderTextColor: colors.textSecondary,
|
|
2380
|
-
style: [
|
|
2423
|
+
style: [styles9.input, { color: colors.text, borderBottomColor: colors.border }],
|
|
2381
2424
|
testID: `${testID ?? "command-palette"}-input`,
|
|
2382
2425
|
value: query,
|
|
2383
2426
|
onChangeText: setQuery,
|
|
2384
2427
|
onKeyPress
|
|
2385
2428
|
}
|
|
2386
2429
|
),
|
|
2387
|
-
results.length === 0 ? /* @__PURE__ */ jsx(Text, { style: [
|
|
2430
|
+
results.length === 0 ? /* @__PURE__ */ jsx(Text, { style: [styles9.empty, { color: colors.textSecondary }], children: labels.emptyText }) : /* @__PURE__ */ jsx(ScrollView, { keyboardShouldPersistTaps: "handled", style: styles9.list, children: results.map((item, index) => /* @__PURE__ */ jsx(PaletteRow, { item, selected: index === selected, onChoose: choose }, item.key)) })
|
|
2388
2431
|
]
|
|
2389
2432
|
}
|
|
2390
2433
|
)
|
|
@@ -2489,7 +2532,7 @@ var TAB_MIN_HEIGHT = 56;
|
|
|
2489
2532
|
var LABEL_SIZE = 12;
|
|
2490
2533
|
var LABEL_GAP = 2;
|
|
2491
2534
|
var TAB_PADDING = 4;
|
|
2492
|
-
var
|
|
2535
|
+
var styles10 = StyleSheet.create({
|
|
2493
2536
|
tab: {
|
|
2494
2537
|
flex: 1,
|
|
2495
2538
|
minHeight: TAB_MIN_HEIGHT,
|
|
@@ -2526,31 +2569,31 @@ var BottomTab = ({
|
|
|
2526
2569
|
accessibilityLabel: item.label,
|
|
2527
2570
|
accessibilityRole: "link",
|
|
2528
2571
|
accessibilityState: { selected: isActive },
|
|
2529
|
-
style: [
|
|
2572
|
+
style: [styles10.tab, { opacity: feedback.opacity }],
|
|
2530
2573
|
testID: item.testID ?? item.key,
|
|
2531
2574
|
onPress: () => onPress(item.route),
|
|
2532
2575
|
onPressIn: () => setPressed(true),
|
|
2533
2576
|
onPressOut: () => setPressed(false),
|
|
2534
2577
|
...ariaCurrentProps3(isActive),
|
|
2535
2578
|
children: [
|
|
2536
|
-
/* @__PURE__ */ jsxs(Animated.View, { style: [
|
|
2579
|
+
/* @__PURE__ */ jsxs(Animated.View, { style: [styles10.iconWrap, { transform: [{ scale }] }], children: [
|
|
2537
2580
|
feedback.pillScale === null ? null : /* @__PURE__ */ jsx(
|
|
2538
2581
|
View,
|
|
2539
2582
|
{
|
|
2540
2583
|
pointerEvents: "none",
|
|
2541
|
-
style: [
|
|
2584
|
+
style: [styles10.pill, { backgroundColor: colors.pill, transform: [{ scale: feedback.pillScale }] }, motion]
|
|
2542
2585
|
}
|
|
2543
2586
|
),
|
|
2544
2587
|
/* @__PURE__ */ jsx(View, { style: [{ transform: feedback.iconTransform }, motion], children: item.renderIcon?.(color, ICON_SIZE) })
|
|
2545
2588
|
] }),
|
|
2546
|
-
/* @__PURE__ */ jsx(Text, { style: [
|
|
2589
|
+
/* @__PURE__ */ jsx(Text, { style: [styles10.label, { color }], children: item.label })
|
|
2547
2590
|
]
|
|
2548
2591
|
}
|
|
2549
2592
|
);
|
|
2550
2593
|
};
|
|
2551
2594
|
var DEFAULT_TEST_ID = "bottom-tab-bar";
|
|
2552
2595
|
var SLIDER_HEIGHT = 3;
|
|
2553
|
-
var
|
|
2596
|
+
var styles11 = StyleSheet.create({
|
|
2554
2597
|
bar: { flexDirection: "row", borderTopWidth: StyleSheet.hairlineWidth },
|
|
2555
2598
|
slider: { position: "absolute", top: 0, height: SLIDER_HEIGHT }
|
|
2556
2599
|
});
|
|
@@ -2577,14 +2620,14 @@ var BottomTabBar = ({
|
|
|
2577
2620
|
{
|
|
2578
2621
|
"aria-label": regionLabel,
|
|
2579
2622
|
role: "navigation",
|
|
2580
|
-
style: [
|
|
2623
|
+
style: [styles11.bar, { backgroundColor: theme.colors.surface, borderTopColor: theme.colors.border }, containerStyle],
|
|
2581
2624
|
testID,
|
|
2582
2625
|
children: [
|
|
2583
2626
|
bar === null ? null : /* @__PURE__ */ jsx(
|
|
2584
2627
|
View,
|
|
2585
2628
|
{
|
|
2586
2629
|
pointerEvents: "none",
|
|
2587
|
-
style: [
|
|
2630
|
+
style: [styles11.slider, { left: bar.left, width: bar.width, backgroundColor: primary }, webTransition("left", barMs, reducedMotion)]
|
|
2588
2631
|
}
|
|
2589
2632
|
),
|
|
2590
2633
|
items.map((item) => /* @__PURE__ */ jsx(
|
|
@@ -2605,6 +2648,6 @@ var BottomTabBar = ({
|
|
|
2605
2648
|
);
|
|
2606
2649
|
};
|
|
2607
2650
|
|
|
2608
|
-
export { ACTIVE_BORDER_RADIUS, ACTIVE_TINT_OPACITY, APP_SHELL_SUFFIX, AppShell, BASE_INDENT, BottomTabBar, BrandHomeLink, CHEVRON_ICON_SIZE, CollapsedRail, CommandPalette, CommandPaletteTrigger, DEFAULT_COLLAPSED_RAIL_MAX, DEFAULT_SEARCH_BREAKPOINT, DarkModeControl, HOVER_TINT_OPACITY, NAV_ICON_SIZE, NAV_LINK_GAP, NAV_ROW_RADIUS, NAV_TEST_IDS, Nav, NavBar, NavExpandableItem, NavHoverFeedback, NavOverflowMenu, NavShell, PillNav, PillNavVariant, RAIL_FULL_BREAKPOINT, Sidebar, SidebarChevron, SidebarSearch, TabFeedback, Topbar, accessibleNavItems, collapsedRailStyles, darkModeStyles, expandableStyles, filterCommands, filterNavItems, isFilterActive, isRouteActive, navStyles, pillNavStyles, resolveActiveRoute, resolveContentMaxWidth, resolvePillMenuLabel, resolveRailMode, resolveSearchAffordance, roleRoutesToNavItems, searchTokens, useCommandPaletteHotkey, useContentMaxWidth };
|
|
2651
|
+
export { ACTIVE_BORDER_RADIUS, ACTIVE_TINT_OPACITY, APP_SHELL_SUFFIX, AppShell, BASE_INDENT, BottomTabBar, BrandHomeLink, BrandMark, CHEVRON_ICON_SIZE, CollapsedRail, CommandPalette, CommandPaletteTrigger, DEFAULT_COLLAPSED_RAIL_MAX, DEFAULT_SEARCH_BREAKPOINT, DarkModeControl, HOVER_TINT_OPACITY, NAV_ICON_SIZE, NAV_LINK_GAP, NAV_ROW_RADIUS, NAV_TEST_IDS, Nav, NavBar, NavExpandableItem, NavHoverFeedback, NavOverflowMenu, NavShell, PillNav, PillNavVariant, RAIL_FULL_BREAKPOINT, Sidebar, SidebarChevron, SidebarSearch, TabFeedback, Topbar, accessibleNavItems, collapsedRailStyles, darkModeStyles, expandableStyles, filterCommands, filterNavItems, isFilterActive, isRouteActive, navStyles, pillNavStyles, resolveActiveRoute, resolveContentMaxWidth, resolvePillMenuLabel, resolveRailMode, resolveSearchAffordance, roleRoutesToNavItems, searchTokens, useCommandPaletteHotkey, useContentMaxWidth };
|
|
2609
2652
|
//# sourceMappingURL=index.mjs.map
|
|
2610
2653
|
//# sourceMappingURL=index.mjs.map
|