@dloizides/ui-nav 1.29.0 → 1.30.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 +16 -2
- package/dist/index.d.ts +16 -2
- package/dist/index.js +84 -43
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +85 -45
- 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';
|
|
@@ -878,7 +878,9 @@ var NAV_TEST_IDS = {
|
|
|
878
878
|
pillNavMenu: "pill-nav-menu",
|
|
879
879
|
/** the optional middle slot of `Topbar` (rendered only when `center` is passed). */
|
|
880
880
|
topbarCenter: "topbar-center",
|
|
881
|
-
brandHome: "nav-brand-home"
|
|
881
|
+
brandHome: "nav-brand-home",
|
|
882
|
+
brandMarkIcon: "nav-brand-mark-icon",
|
|
883
|
+
brandMarkName: "nav-brand-mark-name"
|
|
882
884
|
};
|
|
883
885
|
var APP_SHELL_SUFFIX = {
|
|
884
886
|
content: "-content",
|
|
@@ -1566,6 +1568,44 @@ var BrandHomeLink = ({ route, label, onNavigate, children }) => {
|
|
|
1566
1568
|
}
|
|
1567
1569
|
);
|
|
1568
1570
|
};
|
|
1571
|
+
var DEFAULT_ICON_SIZE = 32;
|
|
1572
|
+
var NAME_FONT_SIZE = 16;
|
|
1573
|
+
var NAME_GAP = 8;
|
|
1574
|
+
var styles4 = StyleSheet.create({
|
|
1575
|
+
name: { flexShrink: 1, fontSize: NAME_FONT_SIZE, fontWeight: "700" },
|
|
1576
|
+
row: { alignItems: "center", flexDirection: "row", gap: NAME_GAP }
|
|
1577
|
+
});
|
|
1578
|
+
var BrandMark = ({
|
|
1579
|
+
source,
|
|
1580
|
+
name,
|
|
1581
|
+
route,
|
|
1582
|
+
label,
|
|
1583
|
+
onNavigate,
|
|
1584
|
+
size = DEFAULT_ICON_SIZE,
|
|
1585
|
+
iconOnly = false
|
|
1586
|
+
}) => {
|
|
1587
|
+
const { theme } = useUi();
|
|
1588
|
+
return /* @__PURE__ */ jsx(BrandHomeLink, { label, route, onNavigate, children: /* @__PURE__ */ jsxs(View, { style: styles4.row, children: [
|
|
1589
|
+
/* @__PURE__ */ jsx(
|
|
1590
|
+
Image,
|
|
1591
|
+
{
|
|
1592
|
+
accessibilityElementsHidden: true,
|
|
1593
|
+
source,
|
|
1594
|
+
style: { height: size, width: size },
|
|
1595
|
+
testID: NAV_TEST_IDS.brandMarkIcon
|
|
1596
|
+
}
|
|
1597
|
+
),
|
|
1598
|
+
iconOnly ? null : /* @__PURE__ */ jsx(
|
|
1599
|
+
Text,
|
|
1600
|
+
{
|
|
1601
|
+
numberOfLines: 1,
|
|
1602
|
+
style: [styles4.name, { color: theme.colors.text }],
|
|
1603
|
+
testID: NAV_TEST_IDS.brandMarkName,
|
|
1604
|
+
children: name
|
|
1605
|
+
}
|
|
1606
|
+
)
|
|
1607
|
+
] }) });
|
|
1608
|
+
};
|
|
1569
1609
|
var Nav = (props) => {
|
|
1570
1610
|
if (props.orientation === "vertical") {
|
|
1571
1611
|
return /* @__PURE__ */ jsx(Sidebar, { ...props });
|
|
@@ -1583,7 +1623,7 @@ function resolveRailMode({ viewport, hasSidebar, hasCollapsed, range }) {
|
|
|
1583
1623
|
}
|
|
1584
1624
|
return viewport >= RAIL_FULL_BREAKPOINT ? "full" : "drawer";
|
|
1585
1625
|
}
|
|
1586
|
-
var
|
|
1626
|
+
var styles5 = StyleSheet.create({
|
|
1587
1627
|
band: { left: 0, position: "absolute", right: 0, top: 0 }
|
|
1588
1628
|
});
|
|
1589
1629
|
function readBackdrop(theme) {
|
|
@@ -1606,7 +1646,7 @@ function resolveShellBackdrop(theme, viewport, contentPadding, testID) {
|
|
|
1606
1646
|
View,
|
|
1607
1647
|
{
|
|
1608
1648
|
pointerEvents: "none",
|
|
1609
|
-
style: [
|
|
1649
|
+
style: [styles5.band, { backgroundColor: band.color, height: contentPadding + overlap }],
|
|
1610
1650
|
testID: `${testID}${APP_SHELL_SUFFIX.band}`
|
|
1611
1651
|
}
|
|
1612
1652
|
);
|
|
@@ -1618,7 +1658,7 @@ var CARD_BORDER_WIDTH = 1;
|
|
|
1618
1658
|
var CARD_TITLE_FONT_SIZE = 16;
|
|
1619
1659
|
var CARD_MESSAGE_FONT_SIZE = 14;
|
|
1620
1660
|
var CARD_TITLE_MARGIN_BOTTOM = 8;
|
|
1621
|
-
var
|
|
1661
|
+
var styles6 = StyleSheet.create({
|
|
1622
1662
|
// Loading is a TRANSITIONAL state: the spinner is an absolute overlay ON TOP of
|
|
1623
1663
|
// stably-mounted children, never a replacement for them. Replacing children here
|
|
1624
1664
|
// would unmount whatever they host (e.g. a navigator), and on remount React
|
|
@@ -1650,9 +1690,9 @@ function MessageCard({
|
|
|
1650
1690
|
}) {
|
|
1651
1691
|
const { theme } = useUi();
|
|
1652
1692
|
const colors = theme.colors;
|
|
1653
|
-
return /* @__PURE__ */ jsxs(View, { style: [
|
|
1654
|
-
/* @__PURE__ */ jsx(Text, { style: [
|
|
1655
|
-
/* @__PURE__ */ jsx(Text, { style: [
|
|
1693
|
+
return /* @__PURE__ */ jsxs(View, { style: [styles6.card, { backgroundColor: colors.surface, borderColor: accentColor }], testID, children: [
|
|
1694
|
+
/* @__PURE__ */ jsx(Text, { style: [styles6.cardTitle, { color: accentColor }], children: message.titleText }),
|
|
1695
|
+
/* @__PURE__ */ jsx(Text, { style: [styles6.cardMessage, { color: colors.textSecondary }], children: message.messageText })
|
|
1656
1696
|
] });
|
|
1657
1697
|
}
|
|
1658
1698
|
function useContentBody(state, children, testID) {
|
|
@@ -1664,12 +1704,12 @@ function useContentBody(state, children, testID) {
|
|
|
1664
1704
|
return /* @__PURE__ */ jsx(MessageCard, { accentColor: errorColor, message: state.forbidden, testID: `${testID}${APP_SHELL_SUFFIX.forbidden}` });
|
|
1665
1705
|
if (state.error)
|
|
1666
1706
|
return /* @__PURE__ */ jsx(MessageCard, { accentColor: errorColor, message: state.error, testID: `${testID}${APP_SHELL_SUFFIX.error}` });
|
|
1667
|
-
return /* @__PURE__ */ jsxs(View, { style:
|
|
1707
|
+
return /* @__PURE__ */ jsxs(View, { style: styles6.loadingHost, children: [
|
|
1668
1708
|
children,
|
|
1669
1709
|
state.loading === true ? /* @__PURE__ */ jsx(
|
|
1670
1710
|
View,
|
|
1671
1711
|
{
|
|
1672
|
-
style: [
|
|
1712
|
+
style: [styles6.loadingOverlay, { backgroundColor: theme.colors.background }],
|
|
1673
1713
|
testID: `${testID}${APP_SHELL_SUFFIX.loading}`,
|
|
1674
1714
|
children: /* @__PURE__ */ jsx(ActivityIndicator, { color: primary, size: "large" })
|
|
1675
1715
|
}
|
|
@@ -1696,7 +1736,7 @@ var DEFAULT_DRAWER_LABELS = {
|
|
|
1696
1736
|
closeLabel: "Close menu",
|
|
1697
1737
|
closeHint: "Close the navigation menu"
|
|
1698
1738
|
};
|
|
1699
|
-
var
|
|
1739
|
+
var styles7 = StyleSheet.create({
|
|
1700
1740
|
overlay: { ...StyleSheet.absoluteFillObject, zIndex: DRAWER_Z_INDEX },
|
|
1701
1741
|
// The scrim's tap-to-close hit area is anchored to the RIGHT of the panel
|
|
1702
1742
|
// (`left: DRAWER_WIDTH`), so it NEVER overlaps the panel: nav-item taps always
|
|
@@ -1731,10 +1771,10 @@ var MenuToggle = ({ label, hint, onOpen, testID }) => {
|
|
|
1731
1771
|
accessibilityHint: hint,
|
|
1732
1772
|
accessibilityLabel: label,
|
|
1733
1773
|
ringColor: theme.palette.primary["500"],
|
|
1734
|
-
style:
|
|
1774
|
+
style: styles7.menuToggle,
|
|
1735
1775
|
testID,
|
|
1736
1776
|
onPress: onOpen,
|
|
1737
|
-
children: /* @__PURE__ */ jsx(Text, { style: [
|
|
1777
|
+
children: /* @__PURE__ */ jsx(Text, { style: [styles7.menuToggleGlyph, { color: theme.colors.text }], children: MENU_GLYPH2 })
|
|
1738
1778
|
}
|
|
1739
1779
|
);
|
|
1740
1780
|
};
|
|
@@ -1760,14 +1800,14 @@ var MobileDrawer = ({
|
|
|
1760
1800
|
node.addEventListener("click", handleClick);
|
|
1761
1801
|
return () => node.removeEventListener("click", handleClick);
|
|
1762
1802
|
}, [onClose]);
|
|
1763
|
-
return /* @__PURE__ */ jsxs(View, { style:
|
|
1803
|
+
return /* @__PURE__ */ jsxs(View, { style: styles7.overlay, children: [
|
|
1764
1804
|
/* @__PURE__ */ jsx(
|
|
1765
1805
|
Pressable,
|
|
1766
1806
|
{
|
|
1767
1807
|
accessibilityHint: labels.closeHint,
|
|
1768
1808
|
accessibilityLabel: labels.closeLabel,
|
|
1769
1809
|
accessibilityRole: "button",
|
|
1770
|
-
style:
|
|
1810
|
+
style: styles7.scrim,
|
|
1771
1811
|
testID: scrimTestID,
|
|
1772
1812
|
onPress: onClose
|
|
1773
1813
|
}
|
|
@@ -1778,7 +1818,7 @@ var MobileDrawer = ({
|
|
|
1778
1818
|
ref: panelRef,
|
|
1779
1819
|
"aria-modal": true,
|
|
1780
1820
|
role: "dialog",
|
|
1781
|
-
style: [
|
|
1821
|
+
style: [styles7.panel, { backgroundColor: theme.colors.surface }],
|
|
1782
1822
|
testID: drawerTestID,
|
|
1783
1823
|
children: renderTextSlot(sidebar, { color: theme.colors.text })
|
|
1784
1824
|
}
|
|
@@ -1796,7 +1836,7 @@ function useContentMaxWidth(width) {
|
|
|
1796
1836
|
return resolveContentMaxWidth(width, viewport);
|
|
1797
1837
|
}
|
|
1798
1838
|
var DEFAULT_CONTENT_PADDING = 24;
|
|
1799
|
-
var
|
|
1839
|
+
var styles8 = StyleSheet.create({
|
|
1800
1840
|
root: { flex: 1 },
|
|
1801
1841
|
// Auth-pending spinner: an opaque absolute overlay over the mounted shell, so
|
|
1802
1842
|
// `children` (and any navigator they host) are never unmounted while the gate
|
|
@@ -1858,13 +1898,13 @@ var AppShell = ({
|
|
|
1858
1898
|
}, [isUnauthenticated, gate]);
|
|
1859
1899
|
const gatePending = gate?.pending === true;
|
|
1860
1900
|
if (isUnauthenticated) return null;
|
|
1861
|
-
const columnStyle = maxWidth === "full" ?
|
|
1862
|
-
const navInnerStyle = chromeAlignment === "content" && maxWidth !== "full" ? [
|
|
1901
|
+
const columnStyle = maxWidth === "full" ? styles8.columnFull : [styles8.columnCapped, { maxWidth }];
|
|
1902
|
+
const navInnerStyle = chromeAlignment === "content" && maxWidth !== "full" ? [styles8.chromeCapped, { maxWidth, paddingHorizontal: contentPadding }] : void 0;
|
|
1863
1903
|
const scroller = /* @__PURE__ */ jsxs(
|
|
1864
1904
|
ScrollView,
|
|
1865
1905
|
{
|
|
1866
|
-
contentContainerStyle: [
|
|
1867
|
-
style:
|
|
1906
|
+
contentContainerStyle: [styles8.scrollContent, { padding: contentPadding }],
|
|
1907
|
+
style: styles8.scroll,
|
|
1868
1908
|
testID: `${testID}${APP_SHELL_SUFFIX.content}`,
|
|
1869
1909
|
children: [
|
|
1870
1910
|
look.band,
|
|
@@ -1872,7 +1912,7 @@ var AppShell = ({
|
|
|
1872
1912
|
]
|
|
1873
1913
|
}
|
|
1874
1914
|
);
|
|
1875
|
-
const headerRegion = useDrawer ? /* @__PURE__ */ jsxs(View, { style: [
|
|
1915
|
+
const headerRegion = useDrawer ? /* @__PURE__ */ jsxs(View, { style: [styles8.headerRow, look.chrome], testID: `${testID}${APP_SHELL_SUFFIX.header}`, children: [
|
|
1876
1916
|
/* @__PURE__ */ jsx(
|
|
1877
1917
|
MenuToggle,
|
|
1878
1918
|
{
|
|
@@ -1882,14 +1922,14 @@ var AppShell = ({
|
|
|
1882
1922
|
onOpen: openDrawer
|
|
1883
1923
|
}
|
|
1884
1924
|
),
|
|
1885
|
-
/* @__PURE__ */ jsx(View, { style:
|
|
1925
|
+
/* @__PURE__ */ jsx(View, { style: styles8.headerFill, children: renderTextSlot(header, { color: look.chromeText }) })
|
|
1886
1926
|
] }) : /* @__PURE__ */ jsx(View, { style: look.chrome, testID: `${testID}${APP_SHELL_SUFFIX.header}`, children: renderTextSlot(header, { color: look.chromeText }) });
|
|
1887
1927
|
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: [
|
|
1928
|
+
return /* @__PURE__ */ jsxs(View, { style: [styles8.root, look.root], testID, children: [
|
|
1889
1929
|
headerRegion,
|
|
1890
1930
|
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
1931
|
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:
|
|
1932
|
+
railRegion !== null ? /* @__PURE__ */ jsxs(View, { style: styles8.bodyRow, children: [
|
|
1893
1933
|
railRegion,
|
|
1894
1934
|
scroller
|
|
1895
1935
|
] }) : scroller,
|
|
@@ -1906,7 +1946,7 @@ var AppShell = ({
|
|
|
1906
1946
|
gatePending ? /* @__PURE__ */ jsx(
|
|
1907
1947
|
View,
|
|
1908
1948
|
{
|
|
1909
|
-
style: [
|
|
1949
|
+
style: [styles8.pendingOverlay, { backgroundColor: theme.colors.background }],
|
|
1910
1950
|
testID: `${testID}${APP_SHELL_SUFFIX.pending}`,
|
|
1911
1951
|
children: /* @__PURE__ */ jsx(ActivityIndicator, { color: primary, size: "large" })
|
|
1912
1952
|
}
|
|
@@ -2273,7 +2313,7 @@ var KEY_DOWN = "ArrowDown";
|
|
|
2273
2313
|
var KEY_UP = "ArrowUp";
|
|
2274
2314
|
var KEY_ENTER = "Enter";
|
|
2275
2315
|
var KEY_ESCAPE = "Escape";
|
|
2276
|
-
var
|
|
2316
|
+
var styles9 = StyleSheet.create({
|
|
2277
2317
|
overlay: { ...StyleSheet.absoluteFillObject, zIndex: OVERLAY_Z_INDEX, alignItems: "center" },
|
|
2278
2318
|
scrim: { ...StyleSheet.absoluteFillObject, backgroundColor: SCRIM_COLOR2 },
|
|
2279
2319
|
panel: {
|
|
@@ -2302,14 +2342,14 @@ var PaletteRow = ({ item, selected, onChoose }) => {
|
|
|
2302
2342
|
accessibilityLabel: item.label,
|
|
2303
2343
|
accessibilityRole: "button",
|
|
2304
2344
|
accessibilityState: { selected },
|
|
2305
|
-
style: [
|
|
2345
|
+
style: [styles9.row, selected ? { backgroundColor: colors.border } : void 0],
|
|
2306
2346
|
testID: item.testID ?? item.key,
|
|
2307
2347
|
onPress: () => onChoose(item),
|
|
2308
2348
|
children: [
|
|
2309
2349
|
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: [
|
|
2350
|
+
/* @__PURE__ */ jsxs(View, { style: styles9.rowText, children: [
|
|
2351
|
+
/* @__PURE__ */ jsx(Text, { style: [styles9.rowLabel, { color: colors.text }], children: item.label }),
|
|
2352
|
+
item.hint ? /* @__PURE__ */ jsx(Text, { style: [styles9.rowHint, { color: colors.textSecondary }], children: item.hint }) : null
|
|
2313
2353
|
] })
|
|
2314
2354
|
]
|
|
2315
2355
|
}
|
|
@@ -2349,14 +2389,14 @@ var CommandPalette = ({ open, items, onClose, labels, testID }) => {
|
|
|
2349
2389
|
[results, selected, choose, onClose]
|
|
2350
2390
|
);
|
|
2351
2391
|
if (!open) return null;
|
|
2352
|
-
return /* @__PURE__ */ jsxs(View, { style:
|
|
2392
|
+
return /* @__PURE__ */ jsxs(View, { style: styles9.overlay, children: [
|
|
2353
2393
|
/* @__PURE__ */ jsx(
|
|
2354
2394
|
Pressable,
|
|
2355
2395
|
{
|
|
2356
2396
|
accessibilityHint: labels.closeHint,
|
|
2357
2397
|
accessibilityLabel: labels.closeLabel,
|
|
2358
2398
|
accessibilityRole: "button",
|
|
2359
|
-
style:
|
|
2399
|
+
style: styles9.scrim,
|
|
2360
2400
|
testID: `${testID ?? "command-palette"}-scrim`,
|
|
2361
2401
|
onPress: onClose
|
|
2362
2402
|
}
|
|
@@ -2367,7 +2407,7 @@ var CommandPalette = ({ open, items, onClose, labels, testID }) => {
|
|
|
2367
2407
|
"aria-modal": true,
|
|
2368
2408
|
"aria-label": labels.regionLabel,
|
|
2369
2409
|
role: "dialog",
|
|
2370
|
-
style: [
|
|
2410
|
+
style: [styles9.panel, { backgroundColor: colors.surface, borderColor: colors.border }],
|
|
2371
2411
|
testID: testID ?? "command-palette",
|
|
2372
2412
|
children: [
|
|
2373
2413
|
/* @__PURE__ */ jsx(
|
|
@@ -2377,14 +2417,14 @@ var CommandPalette = ({ open, items, onClose, labels, testID }) => {
|
|
|
2377
2417
|
accessibilityLabel: labels.placeholder,
|
|
2378
2418
|
placeholder: labels.placeholder,
|
|
2379
2419
|
placeholderTextColor: colors.textSecondary,
|
|
2380
|
-
style: [
|
|
2420
|
+
style: [styles9.input, { color: colors.text, borderBottomColor: colors.border }],
|
|
2381
2421
|
testID: `${testID ?? "command-palette"}-input`,
|
|
2382
2422
|
value: query,
|
|
2383
2423
|
onChangeText: setQuery,
|
|
2384
2424
|
onKeyPress
|
|
2385
2425
|
}
|
|
2386
2426
|
),
|
|
2387
|
-
results.length === 0 ? /* @__PURE__ */ jsx(Text, { style: [
|
|
2427
|
+
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
2428
|
]
|
|
2389
2429
|
}
|
|
2390
2430
|
)
|
|
@@ -2489,7 +2529,7 @@ var TAB_MIN_HEIGHT = 56;
|
|
|
2489
2529
|
var LABEL_SIZE = 12;
|
|
2490
2530
|
var LABEL_GAP = 2;
|
|
2491
2531
|
var TAB_PADDING = 4;
|
|
2492
|
-
var
|
|
2532
|
+
var styles10 = StyleSheet.create({
|
|
2493
2533
|
tab: {
|
|
2494
2534
|
flex: 1,
|
|
2495
2535
|
minHeight: TAB_MIN_HEIGHT,
|
|
@@ -2526,31 +2566,31 @@ var BottomTab = ({
|
|
|
2526
2566
|
accessibilityLabel: item.label,
|
|
2527
2567
|
accessibilityRole: "link",
|
|
2528
2568
|
accessibilityState: { selected: isActive },
|
|
2529
|
-
style: [
|
|
2569
|
+
style: [styles10.tab, { opacity: feedback.opacity }],
|
|
2530
2570
|
testID: item.testID ?? item.key,
|
|
2531
2571
|
onPress: () => onPress(item.route),
|
|
2532
2572
|
onPressIn: () => setPressed(true),
|
|
2533
2573
|
onPressOut: () => setPressed(false),
|
|
2534
2574
|
...ariaCurrentProps3(isActive),
|
|
2535
2575
|
children: [
|
|
2536
|
-
/* @__PURE__ */ jsxs(Animated.View, { style: [
|
|
2576
|
+
/* @__PURE__ */ jsxs(Animated.View, { style: [styles10.iconWrap, { transform: [{ scale }] }], children: [
|
|
2537
2577
|
feedback.pillScale === null ? null : /* @__PURE__ */ jsx(
|
|
2538
2578
|
View,
|
|
2539
2579
|
{
|
|
2540
2580
|
pointerEvents: "none",
|
|
2541
|
-
style: [
|
|
2581
|
+
style: [styles10.pill, { backgroundColor: colors.pill, transform: [{ scale: feedback.pillScale }] }, motion]
|
|
2542
2582
|
}
|
|
2543
2583
|
),
|
|
2544
2584
|
/* @__PURE__ */ jsx(View, { style: [{ transform: feedback.iconTransform }, motion], children: item.renderIcon?.(color, ICON_SIZE) })
|
|
2545
2585
|
] }),
|
|
2546
|
-
/* @__PURE__ */ jsx(Text, { style: [
|
|
2586
|
+
/* @__PURE__ */ jsx(Text, { style: [styles10.label, { color }], children: item.label })
|
|
2547
2587
|
]
|
|
2548
2588
|
}
|
|
2549
2589
|
);
|
|
2550
2590
|
};
|
|
2551
2591
|
var DEFAULT_TEST_ID = "bottom-tab-bar";
|
|
2552
2592
|
var SLIDER_HEIGHT = 3;
|
|
2553
|
-
var
|
|
2593
|
+
var styles11 = StyleSheet.create({
|
|
2554
2594
|
bar: { flexDirection: "row", borderTopWidth: StyleSheet.hairlineWidth },
|
|
2555
2595
|
slider: { position: "absolute", top: 0, height: SLIDER_HEIGHT }
|
|
2556
2596
|
});
|
|
@@ -2577,14 +2617,14 @@ var BottomTabBar = ({
|
|
|
2577
2617
|
{
|
|
2578
2618
|
"aria-label": regionLabel,
|
|
2579
2619
|
role: "navigation",
|
|
2580
|
-
style: [
|
|
2620
|
+
style: [styles11.bar, { backgroundColor: theme.colors.surface, borderTopColor: theme.colors.border }, containerStyle],
|
|
2581
2621
|
testID,
|
|
2582
2622
|
children: [
|
|
2583
2623
|
bar === null ? null : /* @__PURE__ */ jsx(
|
|
2584
2624
|
View,
|
|
2585
2625
|
{
|
|
2586
2626
|
pointerEvents: "none",
|
|
2587
|
-
style: [
|
|
2627
|
+
style: [styles11.slider, { left: bar.left, width: bar.width, backgroundColor: primary }, webTransition("left", barMs, reducedMotion)]
|
|
2588
2628
|
}
|
|
2589
2629
|
),
|
|
2590
2630
|
items.map((item) => /* @__PURE__ */ jsx(
|
|
@@ -2605,6 +2645,6 @@ var BottomTabBar = ({
|
|
|
2605
2645
|
);
|
|
2606
2646
|
};
|
|
2607
2647
|
|
|
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 };
|
|
2648
|
+
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
2649
|
//# sourceMappingURL=index.mjs.map
|
|
2610
2650
|
//# sourceMappingURL=index.mjs.map
|