@trebired/frontend 1.17.0 → 1.18.1

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.
Files changed (59) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/layout/components/shell/index.d.ts +1 -0
  3. package/dist/layout/components/shell/index.d.ts.map +1 -1
  4. package/dist/layout/components/shell/index.js +1 -0
  5. package/dist/layout/components/shell/index.js.map +1 -1
  6. package/dist/layout/components/shell/product/header.d.ts +4 -0
  7. package/dist/layout/components/shell/product/header.d.ts.map +1 -0
  8. package/dist/layout/components/shell/product/header.js +22 -0
  9. package/dist/layout/components/shell/product/header.js.map +1 -0
  10. package/dist/layout/components/shell/product/index.d.ts +6 -0
  11. package/dist/layout/components/shell/product/index.d.ts.map +1 -0
  12. package/dist/layout/components/shell/product/index.js +5 -0
  13. package/dist/layout/components/shell/product/index.js.map +1 -0
  14. package/dist/layout/components/shell/product/mobile.d.ts +5 -0
  15. package/dist/layout/components/shell/product/mobile.d.ts.map +1 -0
  16. package/dist/layout/components/shell/product/mobile.js +31 -0
  17. package/dist/layout/components/shell/product/mobile.js.map +1 -0
  18. package/dist/layout/components/shell/product/sidebar.d.ts +9 -0
  19. package/dist/layout/components/shell/product/sidebar.d.ts.map +1 -0
  20. package/dist/layout/components/shell/product/sidebar.js +40 -0
  21. package/dist/layout/components/shell/product/sidebar.js.map +1 -0
  22. package/dist/layout/components/shell/product/state.d.ts +5 -0
  23. package/dist/layout/components/shell/product/state.d.ts.map +1 -0
  24. package/dist/layout/components/shell/product/state.js +70 -0
  25. package/dist/layout/components/shell/product/state.js.map +1 -0
  26. package/dist/layout/components/shell/product/types.d.ts +91 -0
  27. package/dist/layout/components/shell/product/types.d.ts.map +1 -0
  28. package/dist/layout/components/shell/product/types.js +2 -0
  29. package/dist/layout/components/shell/product/types.js.map +1 -0
  30. package/dist/layout/styles/chrome.scss +29 -0
  31. package/dist/src/layout/components/shell/index.d.ts +1 -0
  32. package/dist/src/layout/components/shell/index.d.ts.map +1 -1
  33. package/dist/src/layout/components/shell/index.js +1 -0
  34. package/dist/src/layout/components/shell/index.js.map +1 -1
  35. package/dist/src/layout/components/shell/product/header.d.ts +4 -0
  36. package/dist/src/layout/components/shell/product/header.d.ts.map +1 -0
  37. package/dist/src/layout/components/shell/product/header.js +22 -0
  38. package/dist/src/layout/components/shell/product/header.js.map +1 -0
  39. package/dist/src/layout/components/shell/product/index.d.ts +6 -0
  40. package/dist/src/layout/components/shell/product/index.d.ts.map +1 -0
  41. package/dist/src/layout/components/shell/product/index.js +5 -0
  42. package/dist/src/layout/components/shell/product/index.js.map +1 -0
  43. package/dist/src/layout/components/shell/product/mobile.d.ts +5 -0
  44. package/dist/src/layout/components/shell/product/mobile.d.ts.map +1 -0
  45. package/dist/src/layout/components/shell/product/mobile.js +31 -0
  46. package/dist/src/layout/components/shell/product/mobile.js.map +1 -0
  47. package/dist/src/layout/components/shell/product/sidebar.d.ts +9 -0
  48. package/dist/src/layout/components/shell/product/sidebar.d.ts.map +1 -0
  49. package/dist/src/layout/components/shell/product/sidebar.js +40 -0
  50. package/dist/src/layout/components/shell/product/sidebar.js.map +1 -0
  51. package/dist/src/layout/components/shell/product/state.d.ts +5 -0
  52. package/dist/src/layout/components/shell/product/state.d.ts.map +1 -0
  53. package/dist/src/layout/components/shell/product/state.js +70 -0
  54. package/dist/src/layout/components/shell/product/state.js.map +1 -0
  55. package/dist/src/layout/components/shell/product/types.d.ts +91 -0
  56. package/dist/src/layout/components/shell/product/types.d.ts.map +1 -0
  57. package/dist/src/layout/components/shell/product/types.js +2 -0
  58. package/dist/src/layout/components/shell/product/types.js.map +1 -0
  59. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -6,6 +6,14 @@ This project follows semantic versioning once published.
6
6
 
7
7
  ## Unreleased
8
8
 
9
+ ## 1.18.1
10
+
11
+ - Fixed the product shell sidebar controls prop type so the `about` JSX slot does not collide with React's built-in HTML `about` attribute.
12
+
13
+ ## 1.18.0
14
+
15
+ - Added package-owned product shell composition helpers for primary headers, mobile navigation, mobile bottom bars, desktop sidebar shells, sidebar footer controls, theme/about/minimize actions, and shared shell state reading so ecosystem apps can remove local chrome scaffolding while keeping app-specific slots and data builders.
16
+
9
17
  ## 1.17.0
10
18
 
11
19
  - Added package-owned logs viewer, stats/detail UI, live socket bootstrap, frontend-log ingestion bridge, and logs styles so ecosystem apps can remove local logs components/runtime.
@@ -47,6 +47,7 @@ declare function ShellMobileNavSection(props: ShellMobileNavSectionProps): impor
47
47
  declare function ShellMobileNav(props: ShellMobileNavProps): import("react").JSX.Element;
48
48
  export { ShellHeader, ShellHeaderBrand, ShellHeaderMobileToggle, ShellMobileNav, ShellMobileNavSection, };
49
49
  export * from "./links.js";
50
+ export * from "./product/index.js";
50
51
  export * from "./state.js";
51
52
  export type { ShellHeaderBrandProps, ShellHeaderMobileToggleProps, ShellHeaderProps, ShellMobileNavProps, ShellMobileNavSectionProps, };
52
53
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/layout/components/shell/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,SAAS,EACV,MAAM,OAAO,CAAC;AAEf,OAAO,EAML,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,eAAe,CAAC;AAEvB,KAAK,gBAAgB,GAAG,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,GAAG;IACtD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,KAAK,qBAAqB,GAAG;IAC3B,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,4BAA4B,GAAG;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,KAAK,0BAA0B,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,GAAG;IAC/E,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,KAAK,mBAAmB,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,GAAG;IAC5D,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,0BAA0B,EAAE,CAAC;IACxC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,iBAAS,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,+BAqBrD;AAED,iBAAS,uBAAuB,CAAC,KAAK,EAAE,4BAA4B,+BAkBnE;AAwBD,iBAAS,WAAW,CAAC,KAAK,EAAE,gBAAgB,+BAkC3C;AAED,iBAAS,qBAAqB,CAAC,KAAK,EAAE,0BAA0B,+BAiB/D;AAYD,iBAAS,cAAc,CAAC,KAAK,EAAE,mBAAmB,+BAoCjD;AAED,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,uBAAuB,EACvB,cAAc,EACd,qBAAqB,GACtB,CAAC;AACF,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,YAAY,EACV,qBAAqB,EACrB,4BAA4B,EAC5B,gBAAgB,EAChB,mBAAmB,EACnB,0BAA0B,GAC3B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/layout/components/shell/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,SAAS,EACV,MAAM,OAAO,CAAC;AAEf,OAAO,EAML,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,eAAe,CAAC;AAEvB,KAAK,gBAAgB,GAAG,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,GAAG;IACtD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,KAAK,qBAAqB,GAAG;IAC3B,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,4BAA4B,GAAG;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,KAAK,0BAA0B,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,GAAG;IAC/E,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,KAAK,mBAAmB,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,GAAG;IAC5D,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,0BAA0B,EAAE,CAAC;IACxC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,iBAAS,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,+BAqBrD;AAED,iBAAS,uBAAuB,CAAC,KAAK,EAAE,4BAA4B,+BAkBnE;AAwBD,iBAAS,WAAW,CAAC,KAAK,EAAE,gBAAgB,+BAkC3C;AAED,iBAAS,qBAAqB,CAAC,KAAK,EAAE,0BAA0B,+BAiB/D;AAYD,iBAAS,cAAc,CAAC,KAAK,EAAE,mBAAmB,+BAoCjD;AAED,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,uBAAuB,EACvB,cAAc,EACd,qBAAqB,GACtB,CAAC;AACF,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,YAAY,EACV,qBAAqB,EACrB,4BAA4B,EAC5B,gBAAgB,EAChB,mBAAmB,EACnB,0BAA0B,GAC3B,CAAC"}
@@ -48,5 +48,6 @@ function ShellMobileNav(props) {
48
48
  }
49
49
  export { ShellHeader, ShellHeaderBrand, ShellHeaderMobileToggle, ShellMobileNav, ShellMobileNavSection, };
50
50
  export * from "./links.js";
51
+ export * from "./product/index.js";
51
52
  export * from "./state.js";
52
53
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/layout/components/shell/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/layout/components/shell/index.tsx"],"names":[],"mappings":";;AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EACL,SAAS,EACT,WAAW,EACX,SAAS,EACT,oBAAoB,EACpB,qBAAqB,GAGtB,MAAM,eAAe,CAAC;AA+CvB,SAAS,gBAAgB,CAAC,KAA4B;IACpD,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAC5E,IAAI,CAAC,YAAY,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAC7C,OAAO,CACL,MAAC,WAAW,IAAC,SAAS,EAAE,UAAU,CAAC,wBAAwB,EAAE,SAAS,CAAC,aACpE,SAAS,CAAC,CAAC,CAAC,CACX,0BACc,UAAU,EACtB,SAAS,EAAC,8BAA8B,EACxC,IAAI,EAAE,SAAS,YAEd,YAAY,GACX,CACL,CAAC,CAAC,CAAC,CACF,eAAM,SAAS,EAAC,8BAA8B,YAAE,YAAY,GAAQ,CACrE,EACA,SAAS,CAAC,CAAC,CAAC,CACX,eAAM,SAAS,EAAC,8BAA8B,YAAE,SAAS,GAAQ,CAClE,CAAC,CAAC,CAAC,IAAI,IACI,CACf,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAmC;IAClE,MAAM,EACJ,SAAS,EACT,QAAQ,GAAG,kBAAkB,EAC7B,IAAI,EACJ,KAAK,GAAG,sBAAsB,GAC/B,GAAG,KAAK,CAAC;IACV,OAAO,CACL,KAAC,WAAW,IAAC,SAAS,EAAC,+BAA+B,YACpD,KAAC,qBAAqB,kBACR,KAAK,EACjB,SAAS,EAAE,UAAU,CAAC,yBAAyB,EAAE,SAAS,CAAC,EAC3D,QAAQ,EAAE,QAAQ,YAEjB,IAAI,IAAI,KAAK,GACQ,GACZ,CACf,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAuB;IAC/C,OAAO,CACL,8BACE,KAAC,gBAAgB,IACf,YAAY,EAAE,KAAK,CAAC,YAAY,EAChC,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,SAAS,EAAE,KAAK,CAAC,cAAc,GAC/B,EACD,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CACpB,KAAC,uBAAuB,IACtB,SAAS,EAAE,KAAK,CAAC,qBAAqB,EACtC,QAAQ,EAAE,KAAK,CAAC,oBAAoB,EACpC,IAAI,EAAE,KAAK,CAAC,gBAAgB,EAC5B,KAAK,EAAE,KAAK,CAAC,iBAAiB,GAC9B,CACH,CAAC,CAAC,CAAC,IAAI,IACP,CACJ,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,KAAuB;IAC1C,MAAM,EACJ,cAAc,EACd,YAAY,EACZ,SAAS,EACT,UAAU,EACV,SAAS,EACT,SAAS,EACT,YAAY,EACZ,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;IACV,OAAO,CACL,KAAC,SAAS,OACJ,IAAI,EACR,KAAK,EAAE,gBAAgB,CAAC;YACtB,cAAc;YACd,YAAY;YACZ,SAAS;YACT,UAAU;YACV,SAAS;YACT,YAAY;YACZ,qBAAqB;YACrB,oBAAoB;YACpB,gBAAgB;YAChB,iBAAiB;SAClB,CAAC,EACF,SAAS,EAAE,UAAU,CAAC,kBAAkB,EAAE,SAAS,CAAC,2BAC9B,EAAE,GACxB,CACH,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAiC;IAC9D,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IACvF,MAAM,IAAI,GAAG,OAAO,IAAI,QAAQ,CAAC;IACjC,IAAI,MAAM,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IACjF,OAAO,CACL,sBACM,IAAI,EACR,SAAS,EAAE,UAAU,CAAC,+BAA+B,EAAE,SAAS,CAAC,aAEhE,KAAK,CAAC,CAAC,CAAC,CACP,cAAK,SAAS,EAAE,UAAU,CAAC,qCAAqC,EAAE,cAAc,CAAC,YAC9E,KAAK,GACF,CACP,CAAC,CAAC,CAAC,IAAI,EACP,IAAI,IACG,CACX,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,QAAkD;IAChF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1C,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CACtC,eAAC,qBAAqB,OAChB,OAAO,EACX,GAAG,EAAE,OAAO,CAAC,EAAE,IAAI,4BAA4B,KAAK,EAAE,GACtD,CACH,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CAAC,KAA0B;IAChD,MAAM,EACJ,QAAQ,EACR,SAAS,EACT,SAAS,EACT,UAAU,GAAG,uBAAuB,EACpC,gBAAgB,EAChB,UAAU,EACV,QAAQ,EACR,KAAK,GAAG,MAAM,EACd,cAAc,EACd,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;IACV,OAAO,CACL,KAAC,SAAS,OACJ,IAAI,EACR,SAAS,EAAE,UAAU,CAAC,4BAA4B,EAAE,SAAS,CAAC,EAC9D,UAAU,EAAE,UAAU,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,YAEjD,eAAK,SAAS,EAAE,UAAU,CAAC,sBAAsB,EAAE,gBAAgB,CAAC,aAClE,eAAK,SAAS,EAAC,4BAA4B,aACzC,eAAM,SAAS,EAAE,UAAU,CAAC,6BAA6B,EAAE,cAAc,CAAC,YACvE,KAAK,GACD,EACP,KAAC,oBAAoB,kBACP,UAAU,EACtB,SAAS,EAAC,6BAA6B,YAEtC,SAAS,IAAI,UAAU,GACH,IACnB,EACL,QAAQ,EACR,sBAAsB,CAAC,QAAQ,CAAC,IAC7B,GACI,CACb,CAAC;AACJ,CAAC;AAED,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,uBAAuB,EACvB,cAAc,EACd,qBAAqB,GACtB,CAAC;AACF,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { ProductShellHeaderProps } from "./types.js";
2
+ declare function ProductShellHeader(props: ProductShellHeaderProps): import("react").JSX.Element;
3
+ export { ProductShellHeader };
4
+ //# sourceMappingURL=header.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../../../../src/layout/components/shell/product/header.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AA6C1D,iBAAS,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,+BAoBzD;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { classNames } from "../../../../components/index.js";
3
+ import { AppHeader, HeaderGroup, MobileNavToggleButton, } from "../../header.js";
4
+ import { productShellLabel, readProductShellState } from "./state.js";
5
+ function headerBrand(props) {
6
+ if (!props.brandContent && !props.brandMeta)
7
+ return null;
8
+ return (_jsxs(HeaderGroup, { className: classNames("tbf-shell-header-brand", props.brandClassName), children: [props.brandHref ? (_jsx("a", { "aria-label": productShellLabel(props.labels, "goHome"), className: "tbf-shell-header-brand__link", href: props.brandHref, children: props.brandContent })) : (_jsx("span", { className: "tbf-shell-header-brand__mark", children: props.brandContent })), props.brandMeta ? (_jsx("span", { className: "tbf-shell-header-brand__meta", children: props.brandMeta })) : null] }));
9
+ }
10
+ function headerMobileToggle(props) {
11
+ const state = readProductShellState(props.shell);
12
+ if (!state.chrome.showMobileNavToggle)
13
+ return null;
14
+ const label = productShellLabel(props.labels, "menu");
15
+ return (_jsx(HeaderGroup, { className: "tbf-shell-header-toggle-group", children: _jsx(MobileNavToggleButton, { "aria-label": label, className: classNames("tbf-shell-header-toggle", props.mobileToggleClassName), controls: props.mobileToggleControls || "mobile_nav_shell", children: props.mobileToggleIcon ?? label }) }));
16
+ }
17
+ function ProductShellHeader(props) {
18
+ const state = readProductShellState(props.shell);
19
+ return (_jsxs(_Fragment, { children: [_jsx(AppHeader, { actions: props.actions, brand: (_jsxs(_Fragment, { children: [headerBrand(props), headerMobileToggle(props)] })), className: classNames("tbf-shell-header", props.className), "data-tbf-shell-header": "", id: props.id || "primary_header", nav: state.chrome.showHeaderLinks ? props.nav : null }), props.overlays] }));
20
+ }
21
+ export { ProductShellHeader };
22
+ //# sourceMappingURL=header.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"header.js","sourceRoot":"","sources":["../../../../../../src/layout/components/shell/product/header.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EACL,SAAS,EACT,WAAW,EACX,qBAAqB,GACtB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAGtE,SAAS,WAAW,CAAC,KAA8B;IACjD,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IACzD,OAAO,CACL,MAAC,WAAW,IAAC,SAAS,EAAE,UAAU,CAAC,wBAAwB,EAAE,KAAK,CAAC,cAAc,CAAC,aAC/E,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CACjB,0BACc,iBAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,EACrD,SAAS,EAAC,8BAA8B,EACxC,IAAI,EAAE,KAAK,CAAC,SAAS,YAEpB,KAAK,CAAC,YAAY,GACjB,CACL,CAAC,CAAC,CAAC,CACF,eAAM,SAAS,EAAC,8BAA8B,YAC3C,KAAK,CAAC,YAAY,GACd,CACR,EACA,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CACjB,eAAM,SAAS,EAAC,8BAA8B,YAC3C,KAAK,CAAC,SAAS,GACX,CACR,CAAC,CAAC,CAAC,IAAI,IACI,CACf,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,KAA8B;IACxD,MAAM,KAAK,GAAG,qBAAqB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACjD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB;QAAE,OAAO,IAAI,CAAC;IACnD,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtD,OAAO,CACL,KAAC,WAAW,IAAC,SAAS,EAAC,+BAA+B,YACpD,KAAC,qBAAqB,kBACR,KAAK,EACjB,SAAS,EAAE,UAAU,CAAC,yBAAyB,EAAE,KAAK,CAAC,qBAAqB,CAAC,EAC7E,QAAQ,EAAE,KAAK,CAAC,oBAAoB,IAAI,kBAAkB,YAEzD,KAAK,CAAC,gBAAgB,IAAI,KAAK,GACV,GACZ,CACf,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,KAA8B;IACxD,MAAM,KAAK,GAAG,qBAAqB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACjD,OAAO,CACL,8BACE,KAAC,SAAS,IACR,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,KAAK,EAAE,CACL,8BACG,WAAW,CAAC,KAAK,CAAC,EAClB,kBAAkB,CAAC,KAAK,CAAC,IACzB,CACJ,EACD,SAAS,EAAE,UAAU,CAAC,kBAAkB,EAAE,KAAK,CAAC,SAAS,CAAC,2BACpC,EAAE,EACxB,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,gBAAgB,EAChC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GACpD,EACD,KAAK,CAAC,QAAQ,IACd,CACJ,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from "./header.js";
2
+ export * from "./mobile.js";
3
+ export * from "./sidebar.js";
4
+ export * from "./state.js";
5
+ export type * from "./types.js";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/layout/components/shell/product/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,mBAAmB,YAAY,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from "./header.js";
2
+ export * from "./mobile.js";
3
+ export * from "./sidebar.js";
4
+ export * from "./state.js";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/layout/components/shell/product/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { ProductShellBottomBarProps, ProductShellMobileNavProps } from "./types.js";
2
+ declare function ProductShellMobileNav(props: ProductShellMobileNavProps): import("react").JSX.Element;
3
+ declare function ProductShellBottomBar(props: ProductShellBottomBarProps): import("react").JSX.Element;
4
+ export { ProductShellBottomBar, ProductShellMobileNav };
5
+ //# sourceMappingURL=mobile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mobile.d.ts","sourceRoot":"","sources":["../../../../../../src/layout/components/shell/product/mobile.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,0BAA0B,EAC1B,0BAA0B,EAC3B,MAAM,YAAY,CAAC;AAwBpB,iBAAS,qBAAqB,CAAC,KAAK,EAAE,0BAA0B,+BA2B/D;AAeD,iBAAS,qBAAqB,CAAC,KAAK,EAAE,0BAA0B,+BAiC/D;AAED,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { classNames } from "../../../../components/index.js";
3
+ import { MobileNav, MobileNavCloseButton, MobileNavToggleButton, } from "../../header.js";
4
+ import { MobileBottomBar, MobileBottomBarItem, } from "../../mobile.js";
5
+ import { ShellSupportLinks } from "../links.js";
6
+ import { productShellLabel, readProductShellState } from "./state.js";
7
+ function mobileHeaderContent(props) {
8
+ if (props.headerContent !== undefined)
9
+ return props.headerContent;
10
+ return (_jsx(ShellSupportLinks, { baseHref: props.supportHref, docsLabel: productShellLabel(props.labels, "docs"), feedbackLabel: productShellLabel(props.labels, "feedback"), supportLabel: productShellLabel(props.labels, "support") }));
11
+ }
12
+ function mobileSection(label, content, hidden) {
13
+ if (hidden || !content)
14
+ return null;
15
+ return (_jsxs("section", { className: "tbf-shell-mobile-nav__section", children: [_jsx("div", { className: "tbf-shell-mobile-nav__section-label", children: label }), content] }));
16
+ }
17
+ function ProductShellMobileNav(props) {
18
+ const state = readProductShellState(props.shell);
19
+ if (!state.chrome.showMobileNav)
20
+ return null;
21
+ return (_jsx(MobileNav, { className: classNames("tbf-shell-mobile-nav-shell", props.className), id: props.id || "mobile_nav_shell", panelLabel: productShellLabel(props.labels, "mobileNavigation"), children: _jsxs("div", { className: classNames("tbf-shell-mobile-nav", props.contentClassName), children: [_jsxs("div", { className: "tbf-shell-mobile-nav__head", children: [_jsx("span", { className: classNames("tbf-shell-mobile-nav__title", props.titleClassName), children: productShellLabel(props.labels, "menu") }), _jsx(MobileNavCloseButton, { "aria-label": productShellLabel(props.labels, "closeNavigationMenu"), className: "tbf-shell-mobile-nav__close", children: props.closeIcon ?? productShellLabel(props.labels, "closeNavigationMenu") })] }), mobileSection(productShellLabel(props.labels, "navigation"), props.sidebarContent, !state.chrome.showSidebarLinks), mobileSection(productShellLabel(props.labels, "more"), mobileHeaderContent(props), !state.chrome.showHeaderLinks), mobileSection(productShellLabel(props.labels, "account"), props.accountContent, !state.chrome.showHeaderUserActions)] }) }));
22
+ }
23
+ function bottomBarItem(href, label, icon, className) {
24
+ return (_jsx(MobileBottomBarItem, { className: className, href: href, icon: icon, children: label }));
25
+ }
26
+ function ProductShellBottomBar(props) {
27
+ const { appIcon, appsHref = "/apps", itemClassName, labels, menuIcon, menuToggleClassName, notifications, profileHref = "/me", profileIcon, ...rest } = props;
28
+ return (_jsxs(MobileBottomBar, { ...rest, "aria-label": props["aria-label"] || productShellLabel(labels, "mobilePrimaryNavigation"), children: [bottomBarItem(appsHref, productShellLabel(labels, "apps"), appIcon, itemClassName), notifications, bottomBarItem(profileHref, productShellLabel(labels, "profile"), profileIcon, itemClassName), _jsxs(MobileNavToggleButton, { "aria-label": productShellLabel(labels, "menu"), className: classNames(itemClassName, menuToggleClassName), controls: "mobile_nav_shell", children: [menuIcon, _jsx("span", { className: "tbf-mobile-bottom-bar__label", children: productShellLabel(labels, "menu") })] })] }));
29
+ }
30
+ export { ProductShellBottomBar, ProductShellMobileNav };
31
+ //# sourceMappingURL=mobile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mobile.js","sourceRoot":"","sources":["../../../../../../src/layout/components/shell/product/mobile.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { ProductShellAboutButtonProps, ProductShellSidebarControlsProps, ProductShellSidebarFooterProps, ProductShellSidebarMinimizeButtonProps, ProductShellSidebarProps, ProductShellThemeToggleProps } from "./types.js";
2
+ declare function ProductShellSidebarFooter(props: ProductShellSidebarFooterProps): import("react").JSX.Element;
3
+ declare function ProductShellSidebarControls(props: ProductShellSidebarControlsProps): import("react").JSX.Element;
4
+ declare function ProductShellSidebarMinimizeButton(props: ProductShellSidebarMinimizeButtonProps): import("react").JSX.Element;
5
+ declare function ProductShellThemeToggle(props: ProductShellThemeToggleProps): import("react").JSX.Element;
6
+ declare function ProductShellAboutButton(props: ProductShellAboutButtonProps): import("react").JSX.Element;
7
+ declare function ProductShellSidebar(props: ProductShellSidebarProps): import("react").JSX.Element;
8
+ export { ProductShellAboutButton, ProductShellSidebar, ProductShellSidebarControls, ProductShellSidebarFooter, ProductShellSidebarMinimizeButton, ProductShellThemeToggle, };
9
+ //# sourceMappingURL=sidebar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../../../../../src/layout/components/shell/product/sidebar.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,4BAA4B,EAC5B,gCAAgC,EAChC,8BAA8B,EAC9B,sCAAsC,EACtC,wBAAwB,EACxB,4BAA4B,EAC7B,MAAM,YAAY,CAAC;AAEpB,iBAAS,yBAAyB,CAAC,KAAK,EAAE,8BAA8B,+BAYvE;AAED,iBAAS,2BAA2B,CAAC,KAAK,EAAE,gCAAgC,+BAU3E;AAED,iBAAS,iCAAiC,CACxC,KAAK,EAAE,sCAAsC,+BA+B9C;AAED,iBAAS,uBAAuB,CAAC,KAAK,EAAE,4BAA4B,+BAcnE;AAED,iBAAS,uBAAuB,CAAC,KAAK,EAAE,4BAA4B,+BAcnE;AAED,iBAAS,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,+BAkB3D;AAED,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,2BAA2B,EAC3B,yBAAyB,EACzB,iCAAiC,EACjC,uBAAuB,GACxB,CAAC"}
@@ -0,0 +1,40 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { classNames } from "../../../../components/index.js";
3
+ import { Card } from "../../../../surface/components/index.js";
4
+ import { Sidebar, SidebarBody, SidebarFooter, SidebarMinimizeButton, SidebarShell, } from "../../../../sidebar/components/index.js";
5
+ import { ThemeToggle } from "../../../../theme/components/index.js";
6
+ import { productShellLabel } from "./state.js";
7
+ function ProductShellSidebarFooter(props) {
8
+ const { actions, children, className, ...rest } = props;
9
+ const body = actions ?? children;
10
+ if (!body)
11
+ return null;
12
+ return (_jsx(SidebarFooter, { ...rest, className: classNames("tbf-product-shell-sidebar-footer", className), children: body }));
13
+ }
14
+ function ProductShellSidebarControls(props) {
15
+ const { about, className, language, minimize, theme, ...rest } = props;
16
+ return (_jsxs(Card, { ...rest, className: classNames("tbf-product-shell-sidebar-controls", className), children: [minimize, theme, language, about] }));
17
+ }
18
+ function ProductShellSidebarMinimizeButton(props) {
19
+ const { children, className, expandedIcon, labels, minimizedIcon, title, ...rest } = props;
20
+ const label = title || productShellLabel(labels, "minimize");
21
+ return (_jsx(SidebarMinimizeButton, { ...rest, "aria-label": props["aria-label"] || String(label), className: classNames("tbf-product-shell-sidebar-minimize", className), title: String(label), children: children || (_jsxs(_Fragment, { children: [_jsx("span", { className: "tbf-product-shell-sidebar-minimize__collapse", children: expandedIcon }), _jsx("span", { className: "tbf-product-shell-sidebar-minimize__expand", children: minimizedIcon })] })) }));
22
+ }
23
+ function ProductShellThemeToggle(props) {
24
+ const { children, className, icon, labels, ...rest } = props;
25
+ const label = productShellLabel(labels, "toggleTheme");
26
+ return (_jsx(ThemeToggle, { ...rest, "aria-label": props["aria-label"] || label, className: classNames("tbf-product-shell-theme-control", className), darkLabel: label, lightLabel: label, children: children || icon }));
27
+ }
28
+ function ProductShellAboutButton(props) {
29
+ const { children, className, href = "/about", icon, labels, title, ...rest } = props;
30
+ const label = title || productShellLabel(labels, "about");
31
+ return (_jsx("a", { ...rest, "aria-label": props["aria-label"] || String(label), className: classNames("tbf-product-shell-about", className), href: href, title: String(label), children: children || icon || label }));
32
+ }
33
+ function ProductShellSidebar(props) {
34
+ const side = props.side || "left";
35
+ const shellId = props.id || `sidebar_shell_${side}`;
36
+ const bodyId = props.bodyId || `sidebar_body_${side}`;
37
+ return (_jsx(SidebarShell, { className: classNames(String(side), props.className), id: shellId, persist: props.persist, side: side, children: _jsxs(Sidebar, { "aria-label": props.ariaLabel, className: "column gap-sm", children: [_jsx(SidebarBody, { className: classNames("column gap-sm", props.bodyClassName), id: bodyId, children: props.content ?? props.children }), props.showFooter === false ? null : (_jsx(ProductShellSidebarFooter, { actions: props.footerActions, children: props.footer }))] }) }));
38
+ }
39
+ export { ProductShellAboutButton, ProductShellSidebar, ProductShellSidebarControls, ProductShellSidebarFooter, ProductShellSidebarMinimizeButton, ProductShellThemeToggle, };
40
+ //# sourceMappingURL=sidebar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sidebar.js","sourceRoot":"","sources":["../../../../../../src/layout/components/shell/product/sidebar.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { ProductShellLabelKey, ProductShellLabels, ProductShellState } from "./types.js";
2
+ declare function productShellLabel(labels: ProductShellLabels | undefined, key: ProductShellLabelKey): string;
3
+ declare function readProductShellState(shellInput: unknown): ProductShellState;
4
+ export { productShellLabel, readProductShellState };
5
+ //# sourceMappingURL=state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../../../../src/layout/components/shell/product/state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAyBpB,iBAAS,iBAAiB,CACxB,MAAM,EAAE,kBAAkB,GAAG,SAAS,EACtC,GAAG,EAAE,oBAAoB,UAG1B;AAgCD,iBAAS,qBAAqB,CAAC,UAAU,EAAE,OAAO,GAAG,iBAAiB,CAiBrE;AAED,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,CAAC"}
@@ -0,0 +1,70 @@
1
+ import { readShellChromeState } from "../state.js";
2
+ const defaultLabels = {
3
+ about: "About",
4
+ account: "Account",
5
+ apps: "Apps",
6
+ closeNavigationMenu: "Close navigation menu",
7
+ docs: "Docs",
8
+ feedback: "Feedback",
9
+ goHome: "Go home",
10
+ menu: "Menu",
11
+ minimize: "Minimize",
12
+ mobileNavigation: "Mobile navigation",
13
+ mobilePrimaryNavigation: "Mobile primary navigation",
14
+ more: "More",
15
+ navigation: "Navigation",
16
+ navigationSidebarLabel: "Navigation sidebar",
17
+ notifications: "Notifications",
18
+ organizationMembers: "Organization members",
19
+ organizationMembersSidebarLabel: "Organization members sidebar",
20
+ profile: "Profile",
21
+ support: "Support",
22
+ toggleTheme: "Toggle theme",
23
+ };
24
+ function productShellLabel(labels, key) {
25
+ return labels?.[key] || defaultLabels[key];
26
+ }
27
+ function objectRecord(value) {
28
+ return value && typeof value === "object"
29
+ ? value
30
+ : {};
31
+ }
32
+ function shellUi(shell) {
33
+ return objectRecord(shell.ui);
34
+ }
35
+ function shellSidebars(ui) {
36
+ return objectRecord(ui.sidebars);
37
+ }
38
+ function shellLeftSidebar(ui) {
39
+ const sidebars = shellSidebars(ui);
40
+ return Object.keys(objectRecord(sidebars.left)).length
41
+ ? objectRecord(sidebars.left)
42
+ : objectRecord(ui.sidebar);
43
+ }
44
+ function shellHeaderType(ui) {
45
+ const header = objectRecord(ui.header);
46
+ return String(header.type || "").toLowerCase();
47
+ }
48
+ function sidebarIsVisible(sidebar) {
49
+ return sidebar.show !== false && Boolean(sidebar.type);
50
+ }
51
+ function readProductShellState(shellInput) {
52
+ const shell = objectRecord(shellInput);
53
+ const ui = shellUi(shell);
54
+ const sidebars = shellSidebars(ui);
55
+ const leftSidebar = shellLeftSidebar(ui);
56
+ const rightSidebar = objectRecord(sidebars.right);
57
+ const type = shellHeaderType(ui);
58
+ return {
59
+ chrome: readShellChromeState({
60
+ hasMobileBottomBar: type === "platform" || type === "app",
61
+ hasSidebarLinks: sidebarIsVisible(leftSidebar),
62
+ type,
63
+ }),
64
+ leftSidebar,
65
+ rightSidebar,
66
+ shell,
67
+ };
68
+ }
69
+ export { productShellLabel, readProductShellState };
70
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../../../src/layout/components/shell/product/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAOrD,MAAM,aAAa,GAAyC;IAC1D,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,mBAAmB,EAAE,uBAAuB;IAC5C,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,SAAS;IACjB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;IACpB,gBAAgB,EAAE,mBAAmB;IACrC,uBAAuB,EAAE,2BAA2B;IACpD,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE,YAAY;IACxB,sBAAsB,EAAE,oBAAoB;IAC5C,aAAa,EAAE,eAAe;IAC9B,mBAAmB,EAAE,sBAAsB;IAC3C,+BAA+B,EAAE,8BAA8B;IAC/D,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,WAAW,EAAE,cAAc;CAC5B,CAAC;AAEF,SAAS,iBAAiB,CACxB,MAAsC,EACtC,GAAyB;IAEzB,OAAO,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QACvC,CAAC,CAAC,KAAgC;QAClC,CAAC,CAAC,EAAE,CAAC;AACT,CAAC;AAED,SAAS,OAAO,CAAC,KAA8B;IAC7C,OAAO,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,aAAa,CAAC,EAA2B;IAChD,OAAO,YAAY,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,gBAAgB,CAAC,EAA2B;IACnD,MAAM,QAAQ,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;IACnC,OAAO,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;QACpD,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC7B,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,eAAe,CAAC,EAA2B;IAClD,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IACvC,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AACjD,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAgC;IACxD,OAAO,OAAO,CAAC,IAAI,KAAK,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,qBAAqB,CAAC,UAAmB;IAChD,MAAM,KAAK,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;IACvC,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAC1B,MAAM,QAAQ,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;IACnC,MAAM,WAAW,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC;IACzC,MAAM,YAAY,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;IACjC,OAAO;QACL,MAAM,EAAE,oBAAoB,CAAC;YAC3B,kBAAkB,EAAE,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,KAAK;YACzD,eAAe,EAAE,gBAAgB,CAAC,WAAW,CAAC;YAC9C,IAAI;SACL,CAAC;QACF,WAAW;QACX,YAAY;QACZ,KAAK;KACN,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,CAAC"}
@@ -0,0 +1,91 @@
1
+ import type { AnchorHTMLAttributes, ButtonHTMLAttributes, HTMLAttributes, ReactNode } from "react";
2
+ import type { SidebarSide } from "../../../../sidebar/index.d.ts";
3
+ import type { ShellChromeState } from "../state.d.ts";
4
+ type ProductShellLabelKey = "about" | "account" | "apps" | "closeNavigationMenu" | "docs" | "feedback" | "goHome" | "menu" | "minimize" | "mobileNavigation" | "mobilePrimaryNavigation" | "more" | "navigation" | "navigationSidebarLabel" | "notifications" | "organizationMembers" | "organizationMembersSidebarLabel" | "profile" | "support" | "toggleTheme";
5
+ type ProductShellLabels = Partial<Record<ProductShellLabelKey, string>>;
6
+ type ProductShellState = {
7
+ chrome: ShellChromeState;
8
+ leftSidebar: Record<string, unknown>;
9
+ rightSidebar: Record<string, unknown>;
10
+ shell: Record<string, unknown>;
11
+ };
12
+ type ProductShellHeaderProps = {
13
+ actions?: ReactNode;
14
+ brandClassName?: string;
15
+ brandContent?: ReactNode;
16
+ brandHref?: string;
17
+ brandMeta?: ReactNode;
18
+ className?: string;
19
+ id?: string;
20
+ labels?: ProductShellLabels;
21
+ mobileToggleClassName?: string;
22
+ mobileToggleControls?: string;
23
+ mobileToggleIcon?: ReactNode;
24
+ nav?: ReactNode;
25
+ overlays?: ReactNode;
26
+ shell?: unknown;
27
+ };
28
+ type ProductShellMobileNavProps = {
29
+ accountContent?: ReactNode;
30
+ className?: string;
31
+ closeIcon?: ReactNode;
32
+ contentClassName?: string;
33
+ headerContent?: ReactNode;
34
+ id?: string;
35
+ labels?: ProductShellLabels;
36
+ shell?: unknown;
37
+ sidebarContent?: ReactNode;
38
+ supportHref?: string;
39
+ titleClassName?: string;
40
+ };
41
+ type ProductShellBottomBarProps = HTMLAttributes<HTMLElement> & {
42
+ appIcon?: ReactNode;
43
+ appsHref?: string;
44
+ itemClassName?: string;
45
+ labels?: ProductShellLabels;
46
+ menuIcon?: ReactNode;
47
+ menuToggleClassName?: string;
48
+ notifications?: ReactNode;
49
+ profileHref?: string;
50
+ profileIcon?: ReactNode;
51
+ };
52
+ type ProductShellSidebarProps = {
53
+ ariaLabel?: string;
54
+ bodyClassName?: string;
55
+ bodyId?: string;
56
+ children?: ReactNode;
57
+ className?: string;
58
+ content?: ReactNode;
59
+ footer?: ReactNode;
60
+ footerActions?: ReactNode;
61
+ id?: string;
62
+ persist?: boolean;
63
+ showFooter?: boolean;
64
+ side?: SidebarSide;
65
+ };
66
+ type ProductShellSidebarFooterProps = HTMLAttributes<HTMLDivElement> & {
67
+ actions?: ReactNode;
68
+ };
69
+ type ProductShellSidebarControlsProps = Omit<HTMLAttributes<HTMLDivElement>, "about"> & {
70
+ about?: ReactNode;
71
+ language?: ReactNode;
72
+ minimize?: ReactNode;
73
+ theme?: ReactNode;
74
+ };
75
+ type ProductShellSidebarMinimizeButtonProps = ButtonHTMLAttributes<HTMLButtonElement> & {
76
+ controls: string;
77
+ expandedIcon?: ReactNode;
78
+ labels?: ProductShellLabels;
79
+ minimizedIcon?: ReactNode;
80
+ };
81
+ type ProductShellThemeToggleProps = ButtonHTMLAttributes<HTMLButtonElement> & {
82
+ icon?: ReactNode;
83
+ labels?: ProductShellLabels;
84
+ };
85
+ type ProductShellAboutButtonProps = AnchorHTMLAttributes<HTMLAnchorElement> & {
86
+ icon?: ReactNode;
87
+ labels?: ProductShellLabels;
88
+ productName?: string;
89
+ };
90
+ export type { ProductShellAboutButtonProps, ProductShellBottomBarProps, ProductShellHeaderProps, ProductShellLabelKey, ProductShellLabels, ProductShellMobileNavProps, ProductShellSidebarControlsProps, ProductShellSidebarFooterProps, ProductShellSidebarMinimizeButtonProps, ProductShellSidebarProps, ProductShellState, ProductShellThemeToggleProps, };
91
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/layout/components/shell/product/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,SAAS,EACV,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,KAAK,oBAAoB,GACrB,OAAO,GACP,SAAS,GACT,MAAM,GACN,qBAAqB,GACrB,MAAM,GACN,UAAU,GACV,QAAQ,GACR,MAAM,GACN,UAAU,GACV,kBAAkB,GAClB,yBAAyB,GACzB,MAAM,GACN,YAAY,GACZ,wBAAwB,GACxB,eAAe,GACf,qBAAqB,GACrB,iCAAiC,GACjC,SAAS,GACT,SAAS,GACT,aAAa,CAAC;AAElB,KAAK,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC,CAAC;AAExE,KAAK,iBAAiB,GAAG;IACvB,MAAM,EAAE,gBAAgB,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC,CAAC;AAEF,KAAK,uBAAuB,GAAG;IAC7B,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,KAAK,0BAA0B,GAAG;IAChC,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,KAAK,0BAA0B,GAAG,cAAc,CAAC,WAAW,CAAC,GAAG;IAC9D,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,SAAS,CAAC;CACzB,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB,CAAC;AAEF,KAAK,8BAA8B,GAAG,cAAc,CAAC,cAAc,CAAC,GAAG;IACrE,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF,KAAK,gCAAgC,GACnC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,GAAG;IAC9C,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,CAAC;AAEJ,KAAK,sCAAsC,GACzC,oBAAoB,CAAC,iBAAiB,CAAC,GAAG;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,aAAa,CAAC,EAAE,SAAS,CAAC;CAC3B,CAAC;AAEJ,KAAK,4BAA4B,GAC/B,oBAAoB,CAAC,iBAAiB,CAAC,GAAG;IACxC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,MAAM,CAAC,EAAE,kBAAkB,CAAC;CAC7B,CAAC;AAEJ,KAAK,4BAA4B,GAC/B,oBAAoB,CAAC,iBAAiB,CAAC,GAAG;IACxC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEJ,YAAY,EACV,4BAA4B,EAC5B,0BAA0B,EAC1B,uBAAuB,EACvB,oBAAoB,EACpB,kBAAkB,EAClB,0BAA0B,EAC1B,gCAAgC,EAChC,8BAA8B,EAC9B,sCAAsC,EACtC,wBAAwB,EACxB,iBAAiB,EACjB,4BAA4B,GAC7B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../src/layout/components/shell/product/types.ts"],"names":[],"mappings":""}
@@ -172,6 +172,35 @@
172
172
  text-decoration: underline;
173
173
  }
174
174
 
175
+ .tbf-product-shell-sidebar-footer {
176
+ display: flex;
177
+ min-width: 0;
178
+ flex-direction: column;
179
+ gap: var(--tbf-gap-sm, 8px);
180
+ margin-block-start: auto;
181
+ }
182
+
183
+ .tbf-product-shell-sidebar-controls {
184
+ display: flex;
185
+ min-width: 0;
186
+ align-items: center;
187
+ gap: var(--tbf-gap-xs, 6px);
188
+ padding: var(--tbf-spacing-xs, 6px);
189
+ }
190
+
191
+ .tbf-product-shell-sidebar-minimize__collapse,
192
+ .tbf-product-shell-sidebar-minimize__expand {
193
+ display: inline-flex;
194
+ align-items: center;
195
+ }
196
+
197
+ [data-tbf-sidebar-minimized="true"]
198
+ .tbf-product-shell-sidebar-minimize__collapse,
199
+ [data-tbf-sidebar-minimized="false"]
200
+ .tbf-product-shell-sidebar-minimize__expand {
201
+ display: none;
202
+ }
203
+
175
204
  .tbf-mobile-bottom-bar__items {
176
205
  display: grid;
177
206
  grid-auto-columns: minmax(0, 1fr);
@@ -47,6 +47,7 @@ declare function ShellMobileNavSection(props: ShellMobileNavSectionProps): impor
47
47
  declare function ShellMobileNav(props: ShellMobileNavProps): import("react").JSX.Element;
48
48
  export { ShellHeader, ShellHeaderBrand, ShellHeaderMobileToggle, ShellMobileNav, ShellMobileNavSection, };
49
49
  export * from "./links.js";
50
+ export * from "./product/index.js";
50
51
  export * from "./state.js";
51
52
  export type { ShellHeaderBrandProps, ShellHeaderMobileToggleProps, ShellHeaderProps, ShellMobileNavProps, ShellMobileNavSectionProps, };
52
53
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/layout/components/shell/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,SAAS,EACV,MAAM,OAAO,CAAC;AAEf,OAAO,EAML,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,eAAe,CAAC;AAEvB,KAAK,gBAAgB,GAAG,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,GAAG;IACtD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,KAAK,qBAAqB,GAAG;IAC3B,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,4BAA4B,GAAG;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,KAAK,0BAA0B,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,GAAG;IAC/E,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,KAAK,mBAAmB,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,GAAG;IAC5D,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,0BAA0B,EAAE,CAAC;IACxC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,iBAAS,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,+BAqBrD;AAED,iBAAS,uBAAuB,CAAC,KAAK,EAAE,4BAA4B,+BAkBnE;AAwBD,iBAAS,WAAW,CAAC,KAAK,EAAE,gBAAgB,+BAkC3C;AAED,iBAAS,qBAAqB,CAAC,KAAK,EAAE,0BAA0B,+BAiB/D;AAYD,iBAAS,cAAc,CAAC,KAAK,EAAE,mBAAmB,+BAoCjD;AAED,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,uBAAuB,EACvB,cAAc,EACd,qBAAqB,GACtB,CAAC;AACF,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,YAAY,EACV,qBAAqB,EACrB,4BAA4B,EAC5B,gBAAgB,EAChB,mBAAmB,EACnB,0BAA0B,GAC3B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/layout/components/shell/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,SAAS,EACV,MAAM,OAAO,CAAC;AAEf,OAAO,EAML,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,eAAe,CAAC;AAEvB,KAAK,gBAAgB,GAAG,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,GAAG;IACtD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,KAAK,qBAAqB,GAAG;IAC3B,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,4BAA4B,GAAG;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,KAAK,0BAA0B,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,GAAG;IAC/E,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,KAAK,mBAAmB,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,GAAG;IAC5D,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,0BAA0B,EAAE,CAAC;IACxC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,iBAAS,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,+BAqBrD;AAED,iBAAS,uBAAuB,CAAC,KAAK,EAAE,4BAA4B,+BAkBnE;AAwBD,iBAAS,WAAW,CAAC,KAAK,EAAE,gBAAgB,+BAkC3C;AAED,iBAAS,qBAAqB,CAAC,KAAK,EAAE,0BAA0B,+BAiB/D;AAYD,iBAAS,cAAc,CAAC,KAAK,EAAE,mBAAmB,+BAoCjD;AAED,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,uBAAuB,EACvB,cAAc,EACd,qBAAqB,GACtB,CAAC;AACF,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,YAAY,EACV,qBAAqB,EACrB,4BAA4B,EAC5B,gBAAgB,EAChB,mBAAmB,EACnB,0BAA0B,GAC3B,CAAC"}
@@ -48,5 +48,6 @@ function ShellMobileNav(props) {
48
48
  }
49
49
  export { ShellHeader, ShellHeaderBrand, ShellHeaderMobileToggle, ShellMobileNav, ShellMobileNavSection, };
50
50
  export * from "./links.js";
51
+ export * from "./product/index.js";
51
52
  export * from "./state.js";
52
53
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/layout/components/shell/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/layout/components/shell/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { ProductShellHeaderProps } from "./types.js";
2
+ declare function ProductShellHeader(props: ProductShellHeaderProps): import("react").JSX.Element;
3
+ export { ProductShellHeader };
4
+ //# sourceMappingURL=header.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../../../../src/layout/components/shell/product/header.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AA6C1D,iBAAS,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,+BAoBzD;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { classNames } from "../../../../../components/index.js";
3
+ import { AppHeader, HeaderGroup, MobileNavToggleButton, } from "../../../../../layout/components/header.js";
4
+ import { productShellLabel, readProductShellState } from "./state.js";
5
+ function headerBrand(props) {
6
+ if (!props.brandContent && !props.brandMeta)
7
+ return null;
8
+ return (_jsxs(HeaderGroup, { className: classNames("tbf-shell-header-brand", props.brandClassName), children: [props.brandHref ? (_jsx("a", { "aria-label": productShellLabel(props.labels, "goHome"), className: "tbf-shell-header-brand__link", href: props.brandHref, children: props.brandContent })) : (_jsx("span", { className: "tbf-shell-header-brand__mark", children: props.brandContent })), props.brandMeta ? (_jsx("span", { className: "tbf-shell-header-brand__meta", children: props.brandMeta })) : null] }));
9
+ }
10
+ function headerMobileToggle(props) {
11
+ const state = readProductShellState(props.shell);
12
+ if (!state.chrome.showMobileNavToggle)
13
+ return null;
14
+ const label = productShellLabel(props.labels, "menu");
15
+ return (_jsx(HeaderGroup, { className: "tbf-shell-header-toggle-group", children: _jsx(MobileNavToggleButton, { "aria-label": label, className: classNames("tbf-shell-header-toggle", props.mobileToggleClassName), controls: props.mobileToggleControls || "mobile_nav_shell", children: props.mobileToggleIcon ?? label }) }));
16
+ }
17
+ function ProductShellHeader(props) {
18
+ const state = readProductShellState(props.shell);
19
+ return (_jsxs(_Fragment, { children: [_jsx(AppHeader, { actions: props.actions, brand: (_jsxs(_Fragment, { children: [headerBrand(props), headerMobileToggle(props)] })), className: classNames("tbf-shell-header", props.className), "data-tbf-shell-header": "", id: props.id || "primary_header", nav: state.chrome.showHeaderLinks ? props.nav : null }), props.overlays] }));
20
+ }
21
+ export { ProductShellHeader };
22
+ //# sourceMappingURL=header.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"header.js","sourceRoot":"","sources":["../../../../../../src/layout/components/shell/product/header.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EACL,SAAS,EACT,WAAW,EACX,qBAAqB,GACtB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAGtE,SAAS,WAAW,CAAC,KAA8B;IACjD,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IACzD,OAAO,CACL,MAAC,WAAW,IAAC,SAAS,EAAE,UAAU,CAAC,wBAAwB,EAAE,KAAK,CAAC,cAAc,CAAC,aAC/E,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CACjB,0BACc,iBAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,EACrD,SAAS,EAAC,8BAA8B,EACxC,IAAI,EAAE,KAAK,CAAC,SAAS,YAEpB,KAAK,CAAC,YAAY,GACjB,CACL,CAAC,CAAC,CAAC,CACF,eAAM,SAAS,EAAC,8BAA8B,YAC3C,KAAK,CAAC,YAAY,GACd,CACR,EACA,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CACjB,eAAM,SAAS,EAAC,8BAA8B,YAC3C,KAAK,CAAC,SAAS,GACX,CACR,CAAC,CAAC,CAAC,IAAI,IACI,CACf,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,KAA8B;IACxD,MAAM,KAAK,GAAG,qBAAqB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACjD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB;QAAE,OAAO,IAAI,CAAC;IACnD,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtD,OAAO,CACL,KAAC,WAAW,IAAC,SAAS,EAAC,+BAA+B,YACpD,KAAC,qBAAqB,kBACR,KAAK,EACjB,SAAS,EAAE,UAAU,CAAC,yBAAyB,EAAE,KAAK,CAAC,qBAAqB,CAAC,EAC7E,QAAQ,EAAE,KAAK,CAAC,oBAAoB,IAAI,kBAAkB,YAEzD,KAAK,CAAC,gBAAgB,IAAI,KAAK,GACV,GACZ,CACf,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,KAA8B;IACxD,MAAM,KAAK,GAAG,qBAAqB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACjD,OAAO,CACL,8BACE,KAAC,SAAS,IACR,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,KAAK,EAAE,CACL,8BACG,WAAW,CAAC,KAAK,CAAC,EAClB,kBAAkB,CAAC,KAAK,CAAC,IACzB,CACJ,EACD,SAAS,EAAE,UAAU,CAAC,kBAAkB,EAAE,KAAK,CAAC,SAAS,CAAC,2BACpC,EAAE,EACxB,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,gBAAgB,EAChC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GACpD,EACD,KAAK,CAAC,QAAQ,IACd,CACJ,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from "./header.js";
2
+ export * from "./mobile.js";
3
+ export * from "./sidebar.js";
4
+ export * from "./state.js";
5
+ export type * from "./types.js";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/layout/components/shell/product/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,mBAAmB,YAAY,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from "./header.js";
2
+ export * from "./mobile.js";
3
+ export * from "./sidebar.js";
4
+ export * from "./state.js";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/layout/components/shell/product/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { ProductShellBottomBarProps, ProductShellMobileNavProps } from "./types.js";
2
+ declare function ProductShellMobileNav(props: ProductShellMobileNavProps): import("react").JSX.Element;
3
+ declare function ProductShellBottomBar(props: ProductShellBottomBarProps): import("react").JSX.Element;
4
+ export { ProductShellBottomBar, ProductShellMobileNav };
5
+ //# sourceMappingURL=mobile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mobile.d.ts","sourceRoot":"","sources":["../../../../../../src/layout/components/shell/product/mobile.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,0BAA0B,EAC1B,0BAA0B,EAC3B,MAAM,YAAY,CAAC;AAwBpB,iBAAS,qBAAqB,CAAC,KAAK,EAAE,0BAA0B,+BA2B/D;AAeD,iBAAS,qBAAqB,CAAC,KAAK,EAAE,0BAA0B,+BAiC/D;AAED,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { classNames } from "../../../../../components/index.js";
3
+ import { MobileNav, MobileNavCloseButton, MobileNavToggleButton, } from "../../../../../layout/components/header.js";
4
+ import { MobileBottomBar, MobileBottomBarItem, } from "../../../../../layout/components/mobile.js";
5
+ import { ShellSupportLinks } from "../../../../../layout/components/shell/links.js";
6
+ import { productShellLabel, readProductShellState } from "./state.js";
7
+ function mobileHeaderContent(props) {
8
+ if (props.headerContent !== undefined)
9
+ return props.headerContent;
10
+ return (_jsx(ShellSupportLinks, { baseHref: props.supportHref, docsLabel: productShellLabel(props.labels, "docs"), feedbackLabel: productShellLabel(props.labels, "feedback"), supportLabel: productShellLabel(props.labels, "support") }));
11
+ }
12
+ function mobileSection(label, content, hidden) {
13
+ if (hidden || !content)
14
+ return null;
15
+ return (_jsxs("section", { className: "tbf-shell-mobile-nav__section", children: [_jsx("div", { className: "tbf-shell-mobile-nav__section-label", children: label }), content] }));
16
+ }
17
+ function ProductShellMobileNav(props) {
18
+ const state = readProductShellState(props.shell);
19
+ if (!state.chrome.showMobileNav)
20
+ return null;
21
+ return (_jsx(MobileNav, { className: classNames("tbf-shell-mobile-nav-shell", props.className), id: props.id || "mobile_nav_shell", panelLabel: productShellLabel(props.labels, "mobileNavigation"), children: _jsxs("div", { className: classNames("tbf-shell-mobile-nav", props.contentClassName), children: [_jsxs("div", { className: "tbf-shell-mobile-nav__head", children: [_jsx("span", { className: classNames("tbf-shell-mobile-nav__title", props.titleClassName), children: productShellLabel(props.labels, "menu") }), _jsx(MobileNavCloseButton, { "aria-label": productShellLabel(props.labels, "closeNavigationMenu"), className: "tbf-shell-mobile-nav__close", children: props.closeIcon ?? productShellLabel(props.labels, "closeNavigationMenu") })] }), mobileSection(productShellLabel(props.labels, "navigation"), props.sidebarContent, !state.chrome.showSidebarLinks), mobileSection(productShellLabel(props.labels, "more"), mobileHeaderContent(props), !state.chrome.showHeaderLinks), mobileSection(productShellLabel(props.labels, "account"), props.accountContent, !state.chrome.showHeaderUserActions)] }) }));
22
+ }
23
+ function bottomBarItem(href, label, icon, className) {
24
+ return (_jsx(MobileBottomBarItem, { className: className, href: href, icon: icon, children: label }));
25
+ }
26
+ function ProductShellBottomBar(props) {
27
+ const { appIcon, appsHref = "/apps", itemClassName, labels, menuIcon, menuToggleClassName, notifications, profileHref = "/me", profileIcon, ...rest } = props;
28
+ return (_jsxs(MobileBottomBar, { ...rest, "aria-label": props["aria-label"] || productShellLabel(labels, "mobilePrimaryNavigation"), children: [bottomBarItem(appsHref, productShellLabel(labels, "apps"), appIcon, itemClassName), notifications, bottomBarItem(profileHref, productShellLabel(labels, "profile"), profileIcon, itemClassName), _jsxs(MobileNavToggleButton, { "aria-label": productShellLabel(labels, "menu"), className: classNames(itemClassName, menuToggleClassName), controls: "mobile_nav_shell", children: [menuIcon, _jsx("span", { className: "tbf-mobile-bottom-bar__label", children: productShellLabel(labels, "menu") })] })] }));
29
+ }
30
+ export { ProductShellBottomBar, ProductShellMobileNav };
31
+ //# sourceMappingURL=mobile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mobile.js","sourceRoot":"","sources":["../../../../../../src/layout/components/shell/product/mobile.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { ProductShellAboutButtonProps, ProductShellSidebarControlsProps, ProductShellSidebarFooterProps, ProductShellSidebarMinimizeButtonProps, ProductShellSidebarProps, ProductShellThemeToggleProps } from "./types.js";
2
+ declare function ProductShellSidebarFooter(props: ProductShellSidebarFooterProps): import("react").JSX.Element;
3
+ declare function ProductShellSidebarControls(props: ProductShellSidebarControlsProps): import("react").JSX.Element;
4
+ declare function ProductShellSidebarMinimizeButton(props: ProductShellSidebarMinimizeButtonProps): import("react").JSX.Element;
5
+ declare function ProductShellThemeToggle(props: ProductShellThemeToggleProps): import("react").JSX.Element;
6
+ declare function ProductShellAboutButton(props: ProductShellAboutButtonProps): import("react").JSX.Element;
7
+ declare function ProductShellSidebar(props: ProductShellSidebarProps): import("react").JSX.Element;
8
+ export { ProductShellAboutButton, ProductShellSidebar, ProductShellSidebarControls, ProductShellSidebarFooter, ProductShellSidebarMinimizeButton, ProductShellThemeToggle, };
9
+ //# sourceMappingURL=sidebar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../../../../../src/layout/components/shell/product/sidebar.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,4BAA4B,EAC5B,gCAAgC,EAChC,8BAA8B,EAC9B,sCAAsC,EACtC,wBAAwB,EACxB,4BAA4B,EAC7B,MAAM,YAAY,CAAC;AAEpB,iBAAS,yBAAyB,CAAC,KAAK,EAAE,8BAA8B,+BAYvE;AAED,iBAAS,2BAA2B,CAAC,KAAK,EAAE,gCAAgC,+BAU3E;AAED,iBAAS,iCAAiC,CACxC,KAAK,EAAE,sCAAsC,+BA+B9C;AAED,iBAAS,uBAAuB,CAAC,KAAK,EAAE,4BAA4B,+BAcnE;AAED,iBAAS,uBAAuB,CAAC,KAAK,EAAE,4BAA4B,+BAcnE;AAED,iBAAS,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,+BAkB3D;AAED,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,2BAA2B,EAC3B,yBAAyB,EACzB,iCAAiC,EACjC,uBAAuB,GACxB,CAAC"}
@@ -0,0 +1,40 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { classNames } from "../../../../../components/index.js";
3
+ import { Card } from "../../../../../surface/components/index.js";
4
+ import { Sidebar, SidebarBody, SidebarFooter, SidebarMinimizeButton, SidebarShell, } from "../../../../../sidebar/components/index.js";
5
+ import { ThemeToggle } from "../../../../../theme/components/index.js";
6
+ import { productShellLabel } from "./state.js";
7
+ function ProductShellSidebarFooter(props) {
8
+ const { actions, children, className, ...rest } = props;
9
+ const body = actions ?? children;
10
+ if (!body)
11
+ return null;
12
+ return (_jsx(SidebarFooter, { ...rest, className: classNames("tbf-product-shell-sidebar-footer", className), children: body }));
13
+ }
14
+ function ProductShellSidebarControls(props) {
15
+ const { about, className, language, minimize, theme, ...rest } = props;
16
+ return (_jsxs(Card, { ...rest, className: classNames("tbf-product-shell-sidebar-controls", className), children: [minimize, theme, language, about] }));
17
+ }
18
+ function ProductShellSidebarMinimizeButton(props) {
19
+ const { children, className, expandedIcon, labels, minimizedIcon, title, ...rest } = props;
20
+ const label = title || productShellLabel(labels, "minimize");
21
+ return (_jsx(SidebarMinimizeButton, { ...rest, "aria-label": props["aria-label"] || String(label), className: classNames("tbf-product-shell-sidebar-minimize", className), title: String(label), children: children || (_jsxs(_Fragment, { children: [_jsx("span", { className: "tbf-product-shell-sidebar-minimize__collapse", children: expandedIcon }), _jsx("span", { className: "tbf-product-shell-sidebar-minimize__expand", children: minimizedIcon })] })) }));
22
+ }
23
+ function ProductShellThemeToggle(props) {
24
+ const { children, className, icon, labels, ...rest } = props;
25
+ const label = productShellLabel(labels, "toggleTheme");
26
+ return (_jsx(ThemeToggle, { ...rest, "aria-label": props["aria-label"] || label, className: classNames("tbf-product-shell-theme-control", className), darkLabel: label, lightLabel: label, children: children || icon }));
27
+ }
28
+ function ProductShellAboutButton(props) {
29
+ const { children, className, href = "/about", icon, labels, title, ...rest } = props;
30
+ const label = title || productShellLabel(labels, "about");
31
+ return (_jsx("a", { ...rest, "aria-label": props["aria-label"] || String(label), className: classNames("tbf-product-shell-about", className), href: href, title: String(label), children: children || icon || label }));
32
+ }
33
+ function ProductShellSidebar(props) {
34
+ const side = props.side || "left";
35
+ const shellId = props.id || `sidebar_shell_${side}`;
36
+ const bodyId = props.bodyId || `sidebar_body_${side}`;
37
+ return (_jsx(SidebarShell, { className: classNames(String(side), props.className), id: shellId, persist: props.persist, side: side, children: _jsxs(Sidebar, { "aria-label": props.ariaLabel, className: "column gap-sm", children: [_jsx(SidebarBody, { className: classNames("column gap-sm", props.bodyClassName), id: bodyId, children: props.content ?? props.children }), props.showFooter === false ? null : (_jsx(ProductShellSidebarFooter, { actions: props.footerActions, children: props.footer }))] }) }));
38
+ }
39
+ export { ProductShellAboutButton, ProductShellSidebar, ProductShellSidebarControls, ProductShellSidebarFooter, ProductShellSidebarMinimizeButton, ProductShellThemeToggle, };
40
+ //# sourceMappingURL=sidebar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sidebar.js","sourceRoot":"","sources":["../../../../../../src/layout/components/shell/product/sidebar.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { ProductShellLabelKey, ProductShellLabels, ProductShellState } from "./types.js";
2
+ declare function productShellLabel(labels: ProductShellLabels | undefined, key: ProductShellLabelKey): string;
3
+ declare function readProductShellState(shellInput: unknown): ProductShellState;
4
+ export { productShellLabel, readProductShellState };
5
+ //# sourceMappingURL=state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../../../../src/layout/components/shell/product/state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAyBpB,iBAAS,iBAAiB,CACxB,MAAM,EAAE,kBAAkB,GAAG,SAAS,EACtC,GAAG,EAAE,oBAAoB,UAG1B;AAgCD,iBAAS,qBAAqB,CAAC,UAAU,EAAE,OAAO,GAAG,iBAAiB,CAiBrE;AAED,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,CAAC"}
@@ -0,0 +1,70 @@
1
+ import { readShellChromeState } from "../../../../../layout/components/shell/state.js";
2
+ const defaultLabels = {
3
+ about: "About",
4
+ account: "Account",
5
+ apps: "Apps",
6
+ closeNavigationMenu: "Close navigation menu",
7
+ docs: "Docs",
8
+ feedback: "Feedback",
9
+ goHome: "Go home",
10
+ menu: "Menu",
11
+ minimize: "Minimize",
12
+ mobileNavigation: "Mobile navigation",
13
+ mobilePrimaryNavigation: "Mobile primary navigation",
14
+ more: "More",
15
+ navigation: "Navigation",
16
+ navigationSidebarLabel: "Navigation sidebar",
17
+ notifications: "Notifications",
18
+ organizationMembers: "Organization members",
19
+ organizationMembersSidebarLabel: "Organization members sidebar",
20
+ profile: "Profile",
21
+ support: "Support",
22
+ toggleTheme: "Toggle theme",
23
+ };
24
+ function productShellLabel(labels, key) {
25
+ return labels?.[key] || defaultLabels[key];
26
+ }
27
+ function objectRecord(value) {
28
+ return value && typeof value === "object"
29
+ ? value
30
+ : {};
31
+ }
32
+ function shellUi(shell) {
33
+ return objectRecord(shell.ui);
34
+ }
35
+ function shellSidebars(ui) {
36
+ return objectRecord(ui.sidebars);
37
+ }
38
+ function shellLeftSidebar(ui) {
39
+ const sidebars = shellSidebars(ui);
40
+ return Object.keys(objectRecord(sidebars.left)).length
41
+ ? objectRecord(sidebars.left)
42
+ : objectRecord(ui.sidebar);
43
+ }
44
+ function shellHeaderType(ui) {
45
+ const header = objectRecord(ui.header);
46
+ return String(header.type || "").toLowerCase();
47
+ }
48
+ function sidebarIsVisible(sidebar) {
49
+ return sidebar.show !== false && Boolean(sidebar.type);
50
+ }
51
+ function readProductShellState(shellInput) {
52
+ const shell = objectRecord(shellInput);
53
+ const ui = shellUi(shell);
54
+ const sidebars = shellSidebars(ui);
55
+ const leftSidebar = shellLeftSidebar(ui);
56
+ const rightSidebar = objectRecord(sidebars.right);
57
+ const type = shellHeaderType(ui);
58
+ return {
59
+ chrome: readShellChromeState({
60
+ hasMobileBottomBar: type === "platform" || type === "app",
61
+ hasSidebarLinks: sidebarIsVisible(leftSidebar),
62
+ type,
63
+ }),
64
+ leftSidebar,
65
+ rightSidebar,
66
+ shell,
67
+ };
68
+ }
69
+ export { productShellLabel, readProductShellState };
70
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../../../src/layout/components/shell/product/state.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ import type { AnchorHTMLAttributes, ButtonHTMLAttributes, HTMLAttributes, ReactNode } from "react";
2
+ import type { SidebarSide } from "../../../../../sidebar/index.d.ts";
3
+ import type { ShellChromeState } from "../../../../../layout/components/shell/state.d.ts";
4
+ type ProductShellLabelKey = "about" | "account" | "apps" | "closeNavigationMenu" | "docs" | "feedback" | "goHome" | "menu" | "minimize" | "mobileNavigation" | "mobilePrimaryNavigation" | "more" | "navigation" | "navigationSidebarLabel" | "notifications" | "organizationMembers" | "organizationMembersSidebarLabel" | "profile" | "support" | "toggleTheme";
5
+ type ProductShellLabels = Partial<Record<ProductShellLabelKey, string>>;
6
+ type ProductShellState = {
7
+ chrome: ShellChromeState;
8
+ leftSidebar: Record<string, unknown>;
9
+ rightSidebar: Record<string, unknown>;
10
+ shell: Record<string, unknown>;
11
+ };
12
+ type ProductShellHeaderProps = {
13
+ actions?: ReactNode;
14
+ brandClassName?: string;
15
+ brandContent?: ReactNode;
16
+ brandHref?: string;
17
+ brandMeta?: ReactNode;
18
+ className?: string;
19
+ id?: string;
20
+ labels?: ProductShellLabels;
21
+ mobileToggleClassName?: string;
22
+ mobileToggleControls?: string;
23
+ mobileToggleIcon?: ReactNode;
24
+ nav?: ReactNode;
25
+ overlays?: ReactNode;
26
+ shell?: unknown;
27
+ };
28
+ type ProductShellMobileNavProps = {
29
+ accountContent?: ReactNode;
30
+ className?: string;
31
+ closeIcon?: ReactNode;
32
+ contentClassName?: string;
33
+ headerContent?: ReactNode;
34
+ id?: string;
35
+ labels?: ProductShellLabels;
36
+ shell?: unknown;
37
+ sidebarContent?: ReactNode;
38
+ supportHref?: string;
39
+ titleClassName?: string;
40
+ };
41
+ type ProductShellBottomBarProps = HTMLAttributes<HTMLElement> & {
42
+ appIcon?: ReactNode;
43
+ appsHref?: string;
44
+ itemClassName?: string;
45
+ labels?: ProductShellLabels;
46
+ menuIcon?: ReactNode;
47
+ menuToggleClassName?: string;
48
+ notifications?: ReactNode;
49
+ profileHref?: string;
50
+ profileIcon?: ReactNode;
51
+ };
52
+ type ProductShellSidebarProps = {
53
+ ariaLabel?: string;
54
+ bodyClassName?: string;
55
+ bodyId?: string;
56
+ children?: ReactNode;
57
+ className?: string;
58
+ content?: ReactNode;
59
+ footer?: ReactNode;
60
+ footerActions?: ReactNode;
61
+ id?: string;
62
+ persist?: boolean;
63
+ showFooter?: boolean;
64
+ side?: SidebarSide;
65
+ };
66
+ type ProductShellSidebarFooterProps = HTMLAttributes<HTMLDivElement> & {
67
+ actions?: ReactNode;
68
+ };
69
+ type ProductShellSidebarControlsProps = Omit<HTMLAttributes<HTMLDivElement>, "about"> & {
70
+ about?: ReactNode;
71
+ language?: ReactNode;
72
+ minimize?: ReactNode;
73
+ theme?: ReactNode;
74
+ };
75
+ type ProductShellSidebarMinimizeButtonProps = ButtonHTMLAttributes<HTMLButtonElement> & {
76
+ controls: string;
77
+ expandedIcon?: ReactNode;
78
+ labels?: ProductShellLabels;
79
+ minimizedIcon?: ReactNode;
80
+ };
81
+ type ProductShellThemeToggleProps = ButtonHTMLAttributes<HTMLButtonElement> & {
82
+ icon?: ReactNode;
83
+ labels?: ProductShellLabels;
84
+ };
85
+ type ProductShellAboutButtonProps = AnchorHTMLAttributes<HTMLAnchorElement> & {
86
+ icon?: ReactNode;
87
+ labels?: ProductShellLabels;
88
+ productName?: string;
89
+ };
90
+ export type { ProductShellAboutButtonProps, ProductShellBottomBarProps, ProductShellHeaderProps, ProductShellLabelKey, ProductShellLabels, ProductShellMobileNavProps, ProductShellSidebarControlsProps, ProductShellSidebarFooterProps, ProductShellSidebarMinimizeButtonProps, ProductShellSidebarProps, ProductShellState, ProductShellThemeToggleProps, };
91
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/layout/components/shell/product/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../src/layout/components/shell/product/types.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trebired/frontend",
3
- "version": "1.17.0",
3
+ "version": "1.18.1",
4
4
  "description": "Generic browser runtime systems for Trebired frontend packages and applications.",
5
5
  "type": "module",
6
6
  "private": false,