@shipfox/client-shell 13.0.0 → 14.0.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.
@@ -1 +1 @@
1
- {"version":3,"file":"nav-tabs.d.ts","sourceRoot":"","sources":["../../src/components/nav-tabs.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,cAAc,CAAC;AAG9C,wBAAgB,OAAO,CAAC,EACtB,OAAO,EACP,KAAK,GACN,EAAE;IACD,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC;IAChC,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CAC7B,+BAoCA"}
1
+ {"version":3,"file":"nav-tabs.d.ts","sourceRoot":"","sources":["../../src/components/nav-tabs.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,cAAc,CAAC;AAG9C,wBAAgB,OAAO,CAAC,EACtB,OAAO,EACP,KAAK,GACN,EAAE;IACD,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC;IAChC,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CAC7B,+BAuCA"}
@@ -6,19 +6,20 @@ export function NavTabs({ entries, scope }) {
6
6
  const params = useRouteParams(parseWorkspaceProjectParams);
7
7
  const reduced = useReducedMotion();
8
8
  const tabs = entries.filter((entry)=>entry.scope === scope);
9
- const tabClassName = `h-40 inline-flex items-center px-4 text-sm font-medium transition-colors ${reduced ? '' : 'transition-[border-color]'}`;
9
+ const projectScoped = scope === 'project';
10
+ const tabClassName = `h-40 inline-flex shrink-0 items-center whitespace-nowrap px-4 ${projectScoped ? 'text-xs' : 'text-sm'} font-medium transition-colors ${reduced ? '' : 'transition-[border-color]'}`;
10
11
  const activeProps = {
11
- className: 'border-b-2 border-border-highlights-interactive text-foreground-neutral-base',
12
+ className: projectScoped ? 'border-b border-border-highlights-interactive text-foreground-neutral-base' : 'border-b-2 border-border-highlights-interactive text-foreground-neutral-base',
12
13
  'aria-selected': 'true'
13
14
  };
14
15
  const inactiveProps = {
15
- className: 'border-b-2 border-transparent text-foreground-neutral-muted',
16
+ className: `${projectScoped ? 'border-b' : 'border-b-2'} border-transparent text-foreground-neutral-subtle hover:text-foreground-neutral-base`,
16
17
  'aria-selected': 'false'
17
18
  };
18
19
  return /*#__PURE__*/ _jsx("div", {
19
20
  role: "tablist",
20
21
  "aria-label": `${scope === 'project' ? 'Project' : 'Workspace'} sections`,
21
- className: "sticky top-56 z-20 h-40 px-16 flex items-end gap-12 bg-background-subtle-base border-b border-border-neutral-base",
22
+ className: "sticky top-56 z-20 flex h-40 items-end gap-12 overflow-x-auto whitespace-nowrap border-b border-border-neutral-base bg-background-subtle-base px-16 [scrollbar-width:none] [&::-webkit-scrollbar]:hidden",
22
23
  children: tabs.map((entry)=>/*#__PURE__*/ _jsx(Link, {
23
24
  to: entry.to,
24
25
  params: params,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/nav-tabs.tsx"],"sourcesContent":["import {Link} from '@tanstack/react-router';\nimport {useReducedMotion} from 'framer-motion';\nimport type {NavTabEntry} from '#contract.js';\nimport {parseWorkspaceProjectParams, useRouteParams} from '#runtime/route-inputs.js';\n\nexport function NavTabs({\n entries,\n scope,\n}: {\n entries: readonly NavTabEntry[];\n scope: NavTabEntry['scope'];\n}) {\n const params = useRouteParams(parseWorkspaceProjectParams);\n const reduced = useReducedMotion();\n const tabs = entries.filter((entry) => entry.scope === scope);\n const tabClassName = `h-40 inline-flex items-center px-4 text-sm font-medium transition-colors ${reduced ? '' : 'transition-[border-color]'}`;\n const activeProps = {\n className: 'border-b-2 border-border-highlights-interactive text-foreground-neutral-base',\n 'aria-selected': 'true' as const,\n };\n const inactiveProps = {\n className: 'border-b-2 border-transparent text-foreground-neutral-muted',\n 'aria-selected': 'false' as const,\n };\n\n return (\n <div\n role=\"tablist\"\n aria-label={`${scope === 'project' ? 'Project' : 'Workspace'} sections`}\n className=\"sticky top-56 z-20 h-40 px-16 flex items-end gap-12 bg-background-subtle-base border-b border-border-neutral-base\"\n >\n {tabs.map((entry) => (\n <Link\n key={entry.id}\n to={entry.to as never}\n params={params as never}\n role=\"tab\"\n activeOptions={{exact: entry.exact ?? false}}\n activeProps={activeProps}\n inactiveProps={inactiveProps}\n className={tabClassName}\n >\n {entry.label}\n </Link>\n ))}\n </div>\n );\n}\n"],"names":["Link","useReducedMotion","parseWorkspaceProjectParams","useRouteParams","NavTabs","entries","scope","params","reduced","tabs","filter","entry","tabClassName","activeProps","className","inactiveProps","div","role","aria-label","map","to","activeOptions","exact","label","id"],"mappings":";AAAA,SAAQA,IAAI,QAAO,yBAAyB;AAC5C,SAAQC,gBAAgB,QAAO,gBAAgB;AAE/C,SAAQC,2BAA2B,EAAEC,cAAc,QAAO,2BAA2B;AAErF,OAAO,SAASC,QAAQ,EACtBC,OAAO,EACPC,KAAK,EAIN;IACC,MAAMC,SAASJ,eAAeD;IAC9B,MAAMM,UAAUP;IAChB,MAAMQ,OAAOJ,QAAQK,MAAM,CAAC,CAACC,QAAUA,MAAML,KAAK,KAAKA;IACvD,MAAMM,eAAe,CAAC,yEAAyE,EAAEJ,UAAU,KAAK,6BAA6B;IAC7I,MAAMK,cAAc;QAClBC,WAAW;QACX,iBAAiB;IACnB;IACA,MAAMC,gBAAgB;QACpBD,WAAW;QACX,iBAAiB;IACnB;IAEA,qBACE,KAACE;QACCC,MAAK;QACLC,cAAY,GAAGZ,UAAU,YAAY,YAAY,YAAY,SAAS,CAAC;QACvEQ,WAAU;kBAETL,KAAKU,GAAG,CAAC,CAACR,sBACT,KAACX;gBAECoB,IAAIT,MAAMS,EAAE;gBACZb,QAAQA;gBACRU,MAAK;gBACLI,eAAe;oBAACC,OAAOX,MAAMW,KAAK,IAAI;gBAAK;gBAC3CT,aAAaA;gBACbE,eAAeA;gBACfD,WAAWF;0BAEVD,MAAMY,KAAK;eATPZ,MAAMa,EAAE;;AAcvB"}
1
+ {"version":3,"sources":["../../src/components/nav-tabs.tsx"],"sourcesContent":["import {Link} from '@tanstack/react-router';\nimport {useReducedMotion} from 'framer-motion';\nimport type {NavTabEntry} from '#contract.js';\nimport {parseWorkspaceProjectParams, useRouteParams} from '#runtime/route-inputs.js';\n\nexport function NavTabs({\n entries,\n scope,\n}: {\n entries: readonly NavTabEntry[];\n scope: NavTabEntry['scope'];\n}) {\n const params = useRouteParams(parseWorkspaceProjectParams);\n const reduced = useReducedMotion();\n const tabs = entries.filter((entry) => entry.scope === scope);\n const projectScoped = scope === 'project';\n const tabClassName = `h-40 inline-flex shrink-0 items-center whitespace-nowrap px-4 ${projectScoped ? 'text-xs' : 'text-sm'} font-medium transition-colors ${reduced ? '' : 'transition-[border-color]'}`;\n const activeProps = {\n className: projectScoped\n ? 'border-b border-border-highlights-interactive text-foreground-neutral-base'\n : 'border-b-2 border-border-highlights-interactive text-foreground-neutral-base',\n 'aria-selected': 'true' as const,\n };\n const inactiveProps = {\n className: `${projectScoped ? 'border-b' : 'border-b-2'} border-transparent text-foreground-neutral-subtle hover:text-foreground-neutral-base`,\n 'aria-selected': 'false' as const,\n };\n\n return (\n <div\n role=\"tablist\"\n aria-label={`${scope === 'project' ? 'Project' : 'Workspace'} sections`}\n className=\"sticky top-56 z-20 flex h-40 items-end gap-12 overflow-x-auto whitespace-nowrap border-b border-border-neutral-base bg-background-subtle-base px-16 [scrollbar-width:none] [&::-webkit-scrollbar]:hidden\"\n >\n {tabs.map((entry) => (\n <Link\n key={entry.id}\n to={entry.to as never}\n params={params as never}\n role=\"tab\"\n activeOptions={{exact: entry.exact ?? false}}\n activeProps={activeProps}\n inactiveProps={inactiveProps}\n className={tabClassName}\n >\n {entry.label}\n </Link>\n ))}\n </div>\n );\n}\n"],"names":["Link","useReducedMotion","parseWorkspaceProjectParams","useRouteParams","NavTabs","entries","scope","params","reduced","tabs","filter","entry","projectScoped","tabClassName","activeProps","className","inactiveProps","div","role","aria-label","map","to","activeOptions","exact","label","id"],"mappings":";AAAA,SAAQA,IAAI,QAAO,yBAAyB;AAC5C,SAAQC,gBAAgB,QAAO,gBAAgB;AAE/C,SAAQC,2BAA2B,EAAEC,cAAc,QAAO,2BAA2B;AAErF,OAAO,SAASC,QAAQ,EACtBC,OAAO,EACPC,KAAK,EAIN;IACC,MAAMC,SAASJ,eAAeD;IAC9B,MAAMM,UAAUP;IAChB,MAAMQ,OAAOJ,QAAQK,MAAM,CAAC,CAACC,QAAUA,MAAML,KAAK,KAAKA;IACvD,MAAMM,gBAAgBN,UAAU;IAChC,MAAMO,eAAe,CAAC,8DAA8D,EAAED,gBAAgB,YAAY,UAAU,+BAA+B,EAAEJ,UAAU,KAAK,6BAA6B;IACzM,MAAMM,cAAc;QAClBC,WAAWH,gBACP,+EACA;QACJ,iBAAiB;IACnB;IACA,MAAMI,gBAAgB;QACpBD,WAAW,GAAGH,gBAAgB,aAAa,aAAa,qFAAqF,CAAC;QAC9I,iBAAiB;IACnB;IAEA,qBACE,KAACK;QACCC,MAAK;QACLC,cAAY,GAAGb,UAAU,YAAY,YAAY,YAAY,SAAS,CAAC;QACvES,WAAU;kBAETN,KAAKW,GAAG,CAAC,CAACT,sBACT,KAACX;gBAECqB,IAAIV,MAAMU,EAAE;gBACZd,QAAQA;gBACRW,MAAK;gBACLI,eAAe;oBAACC,OAAOZ,MAAMY,KAAK,IAAI;gBAAK;gBAC3CT,aAAaA;gBACbE,eAAeA;gBACfD,WAAWF;0BAEVF,MAAMa,KAAK;eATPb,MAAMc,EAAE;;AAcvB"}