@the-portland-company/shell 0.92.0 → 0.93.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/CHANGELOG.md +9 -0
- package/README.md +24 -1
- package/dist/app-chrome.cjs.map +1 -1
- package/dist/app-chrome.d.cts +1 -1
- package/dist/app-chrome.d.ts +1 -1
- package/dist/app-chrome.js +3 -3
- package/dist/{chunk-WDVQBUWF.js → chunk-EN5ANFMB.js} +55 -4
- package/dist/chunk-EN5ANFMB.js.map +1 -0
- package/dist/{chunk-ZS7MQXDQ.js → chunk-Y66PVCZO.js} +137 -3
- package/dist/chunk-Y66PVCZO.js.map +1 -0
- package/dist/{index-Cg5aEImm.d.cts → index-BAFJZuRA.d.cts} +28 -2
- package/dist/{index-DG32i0jC.d.ts → index-DoSs3sQY.d.ts} +28 -2
- package/dist/index.cjs +136 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/native.cjs +187 -2
- package/dist/native.cjs.map +1 -1
- package/dist/native.d.cts +1 -1
- package/dist/native.d.ts +1 -1
- package/dist/native.js +2 -2
- package/package.json +1 -1
- package/dist/chunk-WDVQBUWF.js.map +0 -1
- package/dist/chunk-ZS7MQXDQ.js.map +0 -1
|
@@ -93,6 +93,22 @@ type HeaderTabBarProps = {
|
|
|
93
93
|
*/
|
|
94
94
|
declare function HeaderTabBar({ items, activeId, onChange, className, ariaLabel, }: HeaderTabBarProps): react_jsx_runtime.JSX.Element;
|
|
95
95
|
|
|
96
|
+
/** A tab icon: the same shape `NavTabStrip` passes (`size`, `className`, `strokeWidth`). */
|
|
97
|
+
type TabGlyphComponent = ComponentType<{
|
|
98
|
+
size?: number;
|
|
99
|
+
className?: string;
|
|
100
|
+
strokeWidth?: number;
|
|
101
|
+
}>;
|
|
102
|
+
/**
|
|
103
|
+
* Resolve a Brand tab-icon name to its component. Trims, strips surrounding
|
|
104
|
+
* quotes (the CSS var value is a quoted string) and lowercases. Returns null
|
|
105
|
+
* for an empty or unknown name so `NavTabStrip` falls back to the tab's own
|
|
106
|
+
* `icon` prop: an unrecognised token never renders a broken or empty icon.
|
|
107
|
+
*/
|
|
108
|
+
declare function resolveTabGlyph(name: string | null | undefined): TabGlyphComponent | null;
|
|
109
|
+
/** The tab icon names the shell knows, in vocabulary order. The Brand editor offers only these. */
|
|
110
|
+
declare const KNOWN_TAB_GLYPHS: readonly string[];
|
|
111
|
+
|
|
96
112
|
/**
|
|
97
113
|
* The six canonical top-bar action slots (Reference/Global-Rules v9 → top-bar
|
|
98
114
|
* icons). Each slot's GLYPH is unique and comes from the Brand API
|
|
@@ -1057,6 +1073,16 @@ type NavTabStripProps = {
|
|
|
1057
1073
|
size?: 'md' | 'sm';
|
|
1058
1074
|
/** Extra classes on the tablist container. */
|
|
1059
1075
|
className?: string;
|
|
1076
|
+
/**
|
|
1077
|
+
* The app's strip key in the Brand tab icon map (`tabIcons`), e.g.
|
|
1078
|
+
* `"forms"` or `"contacts-tribes"` (Reference/UI-Platform → Tabs, "Tab icon
|
|
1079
|
+
* map", decided 2026-10-24). When set, each tab reads
|
|
1080
|
+
* `--tab-icon-<iconStrip>-<tab.key>` from the Brand token sheet at runtime
|
|
1081
|
+
* and renders that Lucide icon; when the variable is missing, empty or names
|
|
1082
|
+
* an icon not in `KNOWN_TAB_GLYPHS`, the tab renders its own `icon` prop.
|
|
1083
|
+
* Omit it and every tab renders its own `icon`, as before.
|
|
1084
|
+
*/
|
|
1085
|
+
iconStrip?: string;
|
|
1060
1086
|
/**
|
|
1061
1087
|
* Optional tab panel rendered directly below the strip, on the page
|
|
1062
1088
|
* surface with no card chrome. Omit to render only the strip and compose
|
|
@@ -1069,7 +1095,7 @@ type NavTabStripProps = {
|
|
|
1069
1095
|
* in the page body below the page header; pass the app's `Link` as
|
|
1070
1096
|
* `linkComponent` for `href` tabs.
|
|
1071
1097
|
*/
|
|
1072
|
-
declare function NavTabStrip({ tabs, 'aria-label': ariaLabel, linkComponent, size, className, children, }: NavTabStripProps): react_jsx_runtime.JSX.Element;
|
|
1098
|
+
declare function NavTabStrip({ tabs, 'aria-label': ariaLabel, linkComponent, size, className, iconStrip, children, }: NavTabStripProps): react_jsx_runtime.JSX.Element;
|
|
1073
1099
|
/**
|
|
1074
1100
|
* sessionStorage key holding the Beta-banner dismissal. sessionStorage — not
|
|
1075
1101
|
* localStorage — so the dismissal lasts only for the browser session; and it is
|
|
@@ -1142,4 +1168,4 @@ type NavAppShellProps = {
|
|
|
1142
1168
|
};
|
|
1143
1169
|
declare function NavAppShell({ sidebar, topBar, betaBanner, contentWrapper, accountMenuPlacement, modeId, children, }: NavAppShellProps): react_jsx_runtime.JSX.Element;
|
|
1144
1170
|
|
|
1145
|
-
export {
|
|
1171
|
+
export { NavBetaBanner as $, CREDIT_TYPE_ORDER as A, type BreadcrumbBarProps as B, Card as C, type CampaignFeatureAvailability as D, type ChromeMe as E, FormColumn as F, type ChromeNotificationAlert as G, HeaderTabBar as H, type ChromeNotificationImport as I, type ChromeNotificationQuarantine as J, KNOWN_TAB_GLYPHS as K, type ChromeNotificationReply as L, type ChromeNotificationsPayload as M, type NavItem as N, type ChromeOrgSummary as O, type PageHeaderProps as P, type CommunicationsFuelStatus as Q, type CreditHealthState as R, type StandardNavIconKey as S, type TabGlyphComponent as T, type CreditTypeKey as U, CreditsAction as V, type CreditsIconState as W, FuelAction as X, type FuelChannelStatus as Y, NavAppShell as Z, type NavAppShellProps as _, type CommsNotification as a, type NavBetaBannerProps as a0, type NavBrand as a1, NavChromeProvider as a2, NavDisplayAction as a3, type NavLinkProps as a4, type NavLinkedAccount as a5, type NavModeOption as a6, type NavOrg as a7, type NavRoleBadge as a8, NavSidebar as a9, creditTooltipLine as aA, creditsAriaLabel as aB, creditsIconState as aC, envChipClasses as aD, isNavItemActive as aE, modeIdFromLabel as aF, resolveOrgLogoUrl as aG, shortEnvLabel as aH, shortUserName as aI, standardPolitogyNav as aJ, topBarIconButtonClass as aK, useChromeMe as aL, useChromeOrgs as aM, useNavChromeDedupedFetch as aN, useNavChromeFetcher as aO, useThemePreference as aP, type NavSidebarProps as aa, type NavTab as ab, NavTabStrip as ac, type NavTabStripProps as ad, NavThemeControl as ae, NavTopBar as af, type NavTopBarAction as ag, type NavTopBarProps as ah, type NavUser as ai, NotificationsAction as aj, PageHeader as ak, type PageHeaderMode as al, SPECS_ORIGIN as am, SpecOverlayAction as an, type StandardNavOptions as ao, SupportAction as ap, type ThemePreference as aq, TopBarCountBadge as ar, type TopBarIconTone as as, TopBarPanelArrow as at, TopBarPopover as au, TopBarTooltip as av, TopBarWidgetSlot as aw, clearBetaBannerDismissal as ax, creditGaugeRatio as ay, creditStateWord as az, type CommsNotificationKind as b, type HeaderTabBarItem as c, type NotificationsAdapter as d, type NotificationsFeed as e, createCommsNotificationsAdapter as f, emptyNotificationsFeed as g, type NavIcon as h, type NavBreadcrumb as i, type StandardNavMode as j, type NavLinkComponent as k, type NavChromeFetcher as l, type NavMode as m, normalizeNotificationsFeed as n, type NavUserMenu as o, type NavOrgOption as p, type NavFooterLink as q, resolveTabGlyph as r, type NavFooter as s, type NavDisplayMode as t, BETA_BANNER_DISMISS_KEY as u, BreadcrumbBar as v, CAMPAIGN_FEATURE_AVAILABILITY as w, CORE_APP_ORIGIN as x, CORE_BILLING_PATH as y, CREDIT_TYPE_LABELS as z };
|
|
@@ -93,6 +93,22 @@ type HeaderTabBarProps = {
|
|
|
93
93
|
*/
|
|
94
94
|
declare function HeaderTabBar({ items, activeId, onChange, className, ariaLabel, }: HeaderTabBarProps): react_jsx_runtime.JSX.Element;
|
|
95
95
|
|
|
96
|
+
/** A tab icon: the same shape `NavTabStrip` passes (`size`, `className`, `strokeWidth`). */
|
|
97
|
+
type TabGlyphComponent = ComponentType<{
|
|
98
|
+
size?: number;
|
|
99
|
+
className?: string;
|
|
100
|
+
strokeWidth?: number;
|
|
101
|
+
}>;
|
|
102
|
+
/**
|
|
103
|
+
* Resolve a Brand tab-icon name to its component. Trims, strips surrounding
|
|
104
|
+
* quotes (the CSS var value is a quoted string) and lowercases. Returns null
|
|
105
|
+
* for an empty or unknown name so `NavTabStrip` falls back to the tab's own
|
|
106
|
+
* `icon` prop: an unrecognised token never renders a broken or empty icon.
|
|
107
|
+
*/
|
|
108
|
+
declare function resolveTabGlyph(name: string | null | undefined): TabGlyphComponent | null;
|
|
109
|
+
/** The tab icon names the shell knows, in vocabulary order. The Brand editor offers only these. */
|
|
110
|
+
declare const KNOWN_TAB_GLYPHS: readonly string[];
|
|
111
|
+
|
|
96
112
|
/**
|
|
97
113
|
* The six canonical top-bar action slots (Reference/Global-Rules v9 → top-bar
|
|
98
114
|
* icons). Each slot's GLYPH is unique and comes from the Brand API
|
|
@@ -1057,6 +1073,16 @@ type NavTabStripProps = {
|
|
|
1057
1073
|
size?: 'md' | 'sm';
|
|
1058
1074
|
/** Extra classes on the tablist container. */
|
|
1059
1075
|
className?: string;
|
|
1076
|
+
/**
|
|
1077
|
+
* The app's strip key in the Brand tab icon map (`tabIcons`), e.g.
|
|
1078
|
+
* `"forms"` or `"contacts-tribes"` (Reference/UI-Platform → Tabs, "Tab icon
|
|
1079
|
+
* map", decided 2026-10-24). When set, each tab reads
|
|
1080
|
+
* `--tab-icon-<iconStrip>-<tab.key>` from the Brand token sheet at runtime
|
|
1081
|
+
* and renders that Lucide icon; when the variable is missing, empty or names
|
|
1082
|
+
* an icon not in `KNOWN_TAB_GLYPHS`, the tab renders its own `icon` prop.
|
|
1083
|
+
* Omit it and every tab renders its own `icon`, as before.
|
|
1084
|
+
*/
|
|
1085
|
+
iconStrip?: string;
|
|
1060
1086
|
/**
|
|
1061
1087
|
* Optional tab panel rendered directly below the strip, on the page
|
|
1062
1088
|
* surface with no card chrome. Omit to render only the strip and compose
|
|
@@ -1069,7 +1095,7 @@ type NavTabStripProps = {
|
|
|
1069
1095
|
* in the page body below the page header; pass the app's `Link` as
|
|
1070
1096
|
* `linkComponent` for `href` tabs.
|
|
1071
1097
|
*/
|
|
1072
|
-
declare function NavTabStrip({ tabs, 'aria-label': ariaLabel, linkComponent, size, className, children, }: NavTabStripProps): react_jsx_runtime.JSX.Element;
|
|
1098
|
+
declare function NavTabStrip({ tabs, 'aria-label': ariaLabel, linkComponent, size, className, iconStrip, children, }: NavTabStripProps): react_jsx_runtime.JSX.Element;
|
|
1073
1099
|
/**
|
|
1074
1100
|
* sessionStorage key holding the Beta-banner dismissal. sessionStorage — not
|
|
1075
1101
|
* localStorage — so the dismissal lasts only for the browser session; and it is
|
|
@@ -1142,4 +1168,4 @@ type NavAppShellProps = {
|
|
|
1142
1168
|
};
|
|
1143
1169
|
declare function NavAppShell({ sidebar, topBar, betaBanner, contentWrapper, accountMenuPlacement, modeId, children, }: NavAppShellProps): react_jsx_runtime.JSX.Element;
|
|
1144
1170
|
|
|
1145
|
-
export {
|
|
1171
|
+
export { NavBetaBanner as $, CREDIT_TYPE_ORDER as A, type BreadcrumbBarProps as B, Card as C, type CampaignFeatureAvailability as D, type ChromeMe as E, FormColumn as F, type ChromeNotificationAlert as G, HeaderTabBar as H, type ChromeNotificationImport as I, type ChromeNotificationQuarantine as J, KNOWN_TAB_GLYPHS as K, type ChromeNotificationReply as L, type ChromeNotificationsPayload as M, type NavItem as N, type ChromeOrgSummary as O, type PageHeaderProps as P, type CommunicationsFuelStatus as Q, type CreditHealthState as R, type StandardNavIconKey as S, type TabGlyphComponent as T, type CreditTypeKey as U, CreditsAction as V, type CreditsIconState as W, FuelAction as X, type FuelChannelStatus as Y, NavAppShell as Z, type NavAppShellProps as _, type CommsNotification as a, type NavBetaBannerProps as a0, type NavBrand as a1, NavChromeProvider as a2, NavDisplayAction as a3, type NavLinkProps as a4, type NavLinkedAccount as a5, type NavModeOption as a6, type NavOrg as a7, type NavRoleBadge as a8, NavSidebar as a9, creditTooltipLine as aA, creditsAriaLabel as aB, creditsIconState as aC, envChipClasses as aD, isNavItemActive as aE, modeIdFromLabel as aF, resolveOrgLogoUrl as aG, shortEnvLabel as aH, shortUserName as aI, standardPolitogyNav as aJ, topBarIconButtonClass as aK, useChromeMe as aL, useChromeOrgs as aM, useNavChromeDedupedFetch as aN, useNavChromeFetcher as aO, useThemePreference as aP, type NavSidebarProps as aa, type NavTab as ab, NavTabStrip as ac, type NavTabStripProps as ad, NavThemeControl as ae, NavTopBar as af, type NavTopBarAction as ag, type NavTopBarProps as ah, type NavUser as ai, NotificationsAction as aj, PageHeader as ak, type PageHeaderMode as al, SPECS_ORIGIN as am, SpecOverlayAction as an, type StandardNavOptions as ao, SupportAction as ap, type ThemePreference as aq, TopBarCountBadge as ar, type TopBarIconTone as as, TopBarPanelArrow as at, TopBarPopover as au, TopBarTooltip as av, TopBarWidgetSlot as aw, clearBetaBannerDismissal as ax, creditGaugeRatio as ay, creditStateWord as az, type CommsNotificationKind as b, type HeaderTabBarItem as c, type NotificationsAdapter as d, type NotificationsFeed as e, createCommsNotificationsAdapter as f, emptyNotificationsFeed as g, type NavIcon as h, type NavBreadcrumb as i, type StandardNavMode as j, type NavLinkComponent as k, type NavChromeFetcher as l, type NavMode as m, normalizeNotificationsFeed as n, type NavUserMenu as o, type NavOrgOption as p, type NavFooterLink as q, resolveTabGlyph as r, type NavFooter as s, type NavDisplayMode as t, BETA_BANNER_DISMISS_KEY as u, BreadcrumbBar as v, CAMPAIGN_FEATURE_AVAILABILITY as w, CORE_APP_ORIGIN as x, CORE_BILLING_PATH as y, CREDIT_TYPE_LABELS as z };
|
package/dist/index.cjs
CHANGED
|
@@ -6,6 +6,7 @@ var clsx5 = require('clsx');
|
|
|
6
6
|
var reactRouterDom = require('react-router-dom');
|
|
7
7
|
var react$1 = require('react');
|
|
8
8
|
require('react-dom');
|
|
9
|
+
var lu = require('react-icons/lu');
|
|
9
10
|
|
|
10
11
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
12
|
|
|
@@ -1654,6 +1655,139 @@ function getUserDisplayName(user) {
|
|
|
1654
1655
|
if (!user) return "User";
|
|
1655
1656
|
return user.profile?.full_name || user.profile?.name || user.user_metadata?.full_name || user.user_metadata?.name || (typeof user.email === "string" ? user.email.split("@")[0] : "") || user.email || "User";
|
|
1656
1657
|
}
|
|
1658
|
+
var TAB_GLYPHS = {
|
|
1659
|
+
"layout-dashboard": lu.LuLayoutDashboard,
|
|
1660
|
+
"layout-list": lu.LuLayoutList,
|
|
1661
|
+
"layout-grid": lu.LuLayoutGrid,
|
|
1662
|
+
"layout-template": lu.LuLayoutTemplate,
|
|
1663
|
+
"users": lu.LuUsers,
|
|
1664
|
+
"users-round": lu.LuUsersRound,
|
|
1665
|
+
"user": lu.LuUser,
|
|
1666
|
+
"user-plus": lu.LuUserPlus,
|
|
1667
|
+
"user-check": lu.LuUserCheck,
|
|
1668
|
+
"square-user": lu.LuSquareUser,
|
|
1669
|
+
"upload": lu.LuUpload,
|
|
1670
|
+
"download": lu.LuDownload,
|
|
1671
|
+
"copy": lu.LuCopy,
|
|
1672
|
+
"library": lu.LuLibrary,
|
|
1673
|
+
"flag": lu.LuFlag,
|
|
1674
|
+
"flag-triangle-right": lu.LuFlagTriangleRight,
|
|
1675
|
+
"activity": lu.LuActivity,
|
|
1676
|
+
"table-2": lu.LuTable2,
|
|
1677
|
+
"chart-pie": lu.LuChartPie,
|
|
1678
|
+
"chart-column": lu.LuChartColumn,
|
|
1679
|
+
"chart-line": lu.LuChartLine,
|
|
1680
|
+
"chart-bar": lu.LuChartBar,
|
|
1681
|
+
"chart-area": lu.LuChartArea,
|
|
1682
|
+
"chart-no-axes-combined": lu.LuChartNoAxesCombined,
|
|
1683
|
+
"lightbulb": lu.LuLightbulb,
|
|
1684
|
+
"crosshair": lu.LuCrosshair,
|
|
1685
|
+
"map": lu.LuMap,
|
|
1686
|
+
"map-pin": lu.LuMapPin,
|
|
1687
|
+
"footprints": lu.LuFootprints,
|
|
1688
|
+
"brain": lu.LuBrain,
|
|
1689
|
+
"clipboard-list": lu.LuClipboardList,
|
|
1690
|
+
"clipboard-check": lu.LuClipboardCheck,
|
|
1691
|
+
"timer": lu.LuTimer,
|
|
1692
|
+
"clock": lu.LuClock,
|
|
1693
|
+
"calendar": lu.LuCalendar,
|
|
1694
|
+
"layers": lu.LuLayers,
|
|
1695
|
+
"scale": lu.LuScale,
|
|
1696
|
+
"route": lu.LuRoute,
|
|
1697
|
+
"bot": lu.LuBot,
|
|
1698
|
+
"messages-square": lu.LuMessagesSquare,
|
|
1699
|
+
"message-square": lu.LuMessageSquare,
|
|
1700
|
+
"message-circle": lu.LuMessageCircle,
|
|
1701
|
+
"send": lu.LuSend,
|
|
1702
|
+
"gauge": lu.LuGauge,
|
|
1703
|
+
"split": lu.LuSplit,
|
|
1704
|
+
"file-text": lu.LuFileText,
|
|
1705
|
+
"file": lu.LuFile,
|
|
1706
|
+
"files": lu.LuFiles,
|
|
1707
|
+
"folder": lu.LuFolder,
|
|
1708
|
+
"folder-lock": lu.LuFolderLock,
|
|
1709
|
+
"list": lu.LuList,
|
|
1710
|
+
"list-checks": lu.LuListChecks,
|
|
1711
|
+
"list-ordered": lu.LuListOrdered,
|
|
1712
|
+
"list-todo": lu.LuListTodo,
|
|
1713
|
+
"trending-up": lu.LuTrendingUp,
|
|
1714
|
+
"megaphone": lu.LuMegaphone,
|
|
1715
|
+
"shield": lu.LuShield,
|
|
1716
|
+
"shield-check": lu.LuShieldCheck,
|
|
1717
|
+
"phone": lu.LuPhone,
|
|
1718
|
+
"phone-call": lu.LuPhoneCall,
|
|
1719
|
+
"book-open": lu.LuBookOpen,
|
|
1720
|
+
"notebook-pen": lu.LuNotebookPen,
|
|
1721
|
+
"radio": lu.LuRadio,
|
|
1722
|
+
"voicemail": lu.LuVoicemail,
|
|
1723
|
+
"square-check": lu.LuSquareCheck,
|
|
1724
|
+
"circle-check": lu.LuCircleCheck,
|
|
1725
|
+
"rotate-ccw": lu.LuRotateCcw,
|
|
1726
|
+
"refresh-cw": lu.LuRefreshCw,
|
|
1727
|
+
"history": lu.LuHistory,
|
|
1728
|
+
"smartphone": lu.LuSmartphone,
|
|
1729
|
+
"pencil": lu.LuPencil,
|
|
1730
|
+
"sparkles": lu.LuSparkles,
|
|
1731
|
+
"target": lu.LuTarget,
|
|
1732
|
+
"flask-conical": lu.LuFlaskConical,
|
|
1733
|
+
"settings": lu.LuSettings,
|
|
1734
|
+
"sliders-horizontal": lu.LuSlidersHorizontal,
|
|
1735
|
+
"inbox": lu.LuInbox,
|
|
1736
|
+
"share-2": lu.LuShare2,
|
|
1737
|
+
"building-2": lu.LuBuilding2,
|
|
1738
|
+
"palette": lu.LuPalette,
|
|
1739
|
+
"credit-card": lu.LuCreditCard,
|
|
1740
|
+
"wallet": lu.LuWallet,
|
|
1741
|
+
"receipt": lu.LuReceipt,
|
|
1742
|
+
"dollar-sign": lu.LuDollarSign,
|
|
1743
|
+
"mail": lu.LuMail,
|
|
1744
|
+
"mail-open": lu.LuMailOpen,
|
|
1745
|
+
"bell": lu.LuBell,
|
|
1746
|
+
"house": lu.LuHouse,
|
|
1747
|
+
"star": lu.LuStar,
|
|
1748
|
+
"heart": lu.LuHeart,
|
|
1749
|
+
"hand-heart": lu.LuHandHeart,
|
|
1750
|
+
"tag": lu.LuTag,
|
|
1751
|
+
"filter": lu.LuFilter,
|
|
1752
|
+
"search": lu.LuSearch,
|
|
1753
|
+
"globe": lu.LuGlobe,
|
|
1754
|
+
"link": lu.LuLink,
|
|
1755
|
+
"image": lu.LuImage,
|
|
1756
|
+
"video": lu.LuVideo,
|
|
1757
|
+
"mic": lu.LuMic,
|
|
1758
|
+
"printer": lu.LuPrinter,
|
|
1759
|
+
"eye": lu.LuEye,
|
|
1760
|
+
"lock": lu.LuLock,
|
|
1761
|
+
"key": lu.LuKey,
|
|
1762
|
+
"vote": lu.LuVote,
|
|
1763
|
+
"landmark": lu.LuLandmark,
|
|
1764
|
+
"newspaper": lu.LuNewspaper,
|
|
1765
|
+
"kanban": lu.LuKanban,
|
|
1766
|
+
"wrench": lu.LuWrench,
|
|
1767
|
+
"zap": lu.LuZap,
|
|
1768
|
+
"rocket": lu.LuRocket,
|
|
1769
|
+
"archive": lu.LuArchive,
|
|
1770
|
+
"trash-2": lu.LuTrash2,
|
|
1771
|
+
"circle-help": lu.LuCircleHelp,
|
|
1772
|
+
"info": lu.LuInfo,
|
|
1773
|
+
"triangle-alert": lu.LuTriangleAlert,
|
|
1774
|
+
"door-open": lu.LuDoorOpen,
|
|
1775
|
+
"signpost": lu.LuSignpost,
|
|
1776
|
+
"badge-check": lu.LuBadgeCheck,
|
|
1777
|
+
"award": lu.LuAward,
|
|
1778
|
+
"briefcase": lu.LuBriefcase,
|
|
1779
|
+
"handshake": lu.LuHandshake,
|
|
1780
|
+
"network": lu.LuNetwork,
|
|
1781
|
+
"workflow": lu.LuWorkflow,
|
|
1782
|
+
"git-branch": lu.LuGitBranch
|
|
1783
|
+
};
|
|
1784
|
+
function resolveTabGlyph(name) {
|
|
1785
|
+
if (!name) return null;
|
|
1786
|
+
const key = name.trim().replace(/^['"]|['"]$/g, "").trim().toLowerCase();
|
|
1787
|
+
if (!key) return null;
|
|
1788
|
+
return Object.prototype.hasOwnProperty.call(TAB_GLYPHS, key) ? TAB_GLYPHS[key] : null;
|
|
1789
|
+
}
|
|
1790
|
+
var KNOWN_TAB_GLYPHS = Object.freeze(Object.keys(TAB_GLYPHS));
|
|
1657
1791
|
|
|
1658
1792
|
// src/sw/registerShellPrecache.ts
|
|
1659
1793
|
async function registerShellPrecache(opts = {}) {
|
|
@@ -1773,6 +1907,7 @@ exports.Card = Card;
|
|
|
1773
1907
|
exports.FormColumn = FormColumn;
|
|
1774
1908
|
exports.GlobalUiIdProvider = GlobalUiIdProvider;
|
|
1775
1909
|
exports.HeaderTabBar = HeaderTabBar;
|
|
1910
|
+
exports.KNOWN_TAB_GLYPHS = KNOWN_TAB_GLYPHS;
|
|
1776
1911
|
exports.PageContainer = PageContainer;
|
|
1777
1912
|
exports.PageHeader = PageHeader;
|
|
1778
1913
|
exports.ShellChromeContext = ShellChromeContext;
|
|
@@ -1800,6 +1935,7 @@ exports.normalizeHexColor = normalizeHexColor;
|
|
|
1800
1935
|
exports.normalizeNotificationsFeed = normalizeNotificationsFeed;
|
|
1801
1936
|
exports.politogyTheme = politogyTheme;
|
|
1802
1937
|
exports.registerShellPrecache = registerShellPrecache;
|
|
1938
|
+
exports.resolveTabGlyph = resolveTabGlyph;
|
|
1803
1939
|
exports.useAppRegistry = useAppRegistry;
|
|
1804
1940
|
exports.useCurrentApp = useCurrentApp;
|
|
1805
1941
|
exports.useShellAuth = useShellAuth;
|