@goldlabelapps/theme 1.0.1 → 3.2.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.
Files changed (174) hide show
  1. package/dist/context/ConfigContext.js +6 -6
  2. package/dist/design-system/components/DesignSystemProvider/DesignSystemProvider.d.ts +2 -0
  3. package/dist/design-system/components/DesignSystemProvider/DesignSystemProvider.js +29 -0
  4. package/dist/design-system/components/DesignSystemProvider/types.d.ts +1 -0
  5. package/dist/design-system/components/DesignSystemProvider/types.js +1 -0
  6. package/dist/design-system/components/brand/Logo/Logo.d.ts +2 -0
  7. package/dist/design-system/components/brand/Logo/Logo.js +35 -0
  8. package/dist/design-system/components/brand/Logo/types.d.ts +1 -0
  9. package/dist/design-system/components/brand/Logo/types.js +1 -0
  10. package/dist/design-system/components/buttons/Button/Button.d.ts +2 -0
  11. package/dist/design-system/components/buttons/Button/Button.js +135 -0
  12. package/dist/design-system/components/buttons/Button/types.d.ts +1 -0
  13. package/dist/design-system/components/buttons/Button/types.js +1 -0
  14. package/dist/design-system/components/buttons/IconButton/IconButton.d.ts +2 -0
  15. package/dist/design-system/components/buttons/IconButton/IconButton.js +129 -0
  16. package/dist/design-system/components/buttons/IconButton/types.d.ts +1 -0
  17. package/dist/design-system/components/buttons/IconButton/types.js +1 -0
  18. package/dist/design-system/components/feedback/Alert/Alert.d.ts +2 -0
  19. package/dist/design-system/components/feedback/Alert/Alert.js +12 -0
  20. package/dist/design-system/components/feedback/Alert/types.d.ts +1 -0
  21. package/dist/design-system/components/feedback/Alert/types.js +1 -0
  22. package/dist/design-system/components/feedback/Card/Card.d.ts +2 -0
  23. package/dist/design-system/components/feedback/Card/Card.js +46 -0
  24. package/dist/design-system/components/feedback/Card/types.d.ts +1 -0
  25. package/dist/design-system/components/feedback/Card/types.js +1 -0
  26. package/dist/design-system/components/feedback/Field/Field.d.ts +2 -0
  27. package/dist/design-system/components/feedback/Field/Field.js +6 -0
  28. package/dist/design-system/components/feedback/Field/types.d.ts +1 -0
  29. package/dist/design-system/components/feedback/Field/types.js +1 -0
  30. package/dist/design-system/components/feedback/index.d.ts +6 -0
  31. package/dist/design-system/components/feedback/index.js +3 -0
  32. package/dist/design-system/components/headings/Heading/Heading.d.ts +3 -0
  33. package/dist/design-system/components/headings/Heading/Heading.js +66 -0
  34. package/dist/design-system/components/headings/Heading/types.d.ts +1 -0
  35. package/dist/design-system/components/headings/Heading/types.js +1 -0
  36. package/dist/design-system/components/icons/Icon/Icon.d.ts +10 -0
  37. package/dist/design-system/components/icons/Icon/Icon.js +421 -0
  38. package/dist/design-system/components/icons/Icon/types.d.ts +7 -0
  39. package/dist/design-system/components/icons/Icon/types.js +1 -0
  40. package/dist/design-system/components/icons/SVGIcons/BlokeyIcon.d.ts +2 -0
  41. package/dist/design-system/components/icons/SVGIcons/BlokeyIcon.js +7 -0
  42. package/dist/design-system/components/icons/SVGIcons/ChromeIcon.d.ts +2 -0
  43. package/dist/design-system/components/icons/SVGIcons/ChromeIcon.js +7 -0
  44. package/dist/design-system/components/icons/SVGIcons/DesktopIcon.d.ts +2 -0
  45. package/dist/design-system/components/icons/SVGIcons/DesktopIcon.js +7 -0
  46. package/dist/design-system/components/icons/SVGIcons/EdgeIcon.d.ts +2 -0
  47. package/dist/design-system/components/icons/SVGIcons/EdgeIcon.js +7 -0
  48. package/dist/design-system/components/icons/SVGIcons/FallmanagerIcon.d.ts +2 -0
  49. package/dist/design-system/components/icons/SVGIcons/FallmanagerIcon.js +8 -0
  50. package/dist/design-system/components/icons/SVGIcons/FirefoxIcon.d.ts +2 -0
  51. package/dist/design-system/components/icons/SVGIcons/FirefoxIcon.js +7 -0
  52. package/dist/design-system/components/icons/SVGIcons/FlickrIcon.d.ts +2 -0
  53. package/dist/design-system/components/icons/SVGIcons/FlickrIcon.js +9 -0
  54. package/dist/design-system/components/icons/SVGIcons/GatsbyIcon.d.ts +2 -0
  55. package/dist/design-system/components/icons/SVGIcons/GatsbyIcon.js +8 -0
  56. package/dist/design-system/components/icons/SVGIcons/GoldenticketIcon.d.ts +2 -0
  57. package/dist/design-system/components/icons/SVGIcons/GoldenticketIcon.js +7 -0
  58. package/dist/design-system/components/icons/SVGIcons/GoldlabelOutlined.d.ts +2 -0
  59. package/dist/design-system/components/icons/SVGIcons/GoldlabelOutlined.js +7 -0
  60. package/dist/design-system/components/icons/SVGIcons/GraphqlIcon.d.ts +2 -0
  61. package/dist/design-system/components/icons/SVGIcons/GraphqlIcon.js +7 -0
  62. package/dist/design-system/components/icons/SVGIcons/IphoneIcon.d.ts +2 -0
  63. package/dist/design-system/components/icons/SVGIcons/IphoneIcon.js +7 -0
  64. package/dist/design-system/components/icons/SVGIcons/LinuxIcon.d.ts +2 -0
  65. package/dist/design-system/components/icons/SVGIcons/LinuxIcon.js +7 -0
  66. package/dist/design-system/components/icons/SVGIcons/MacIcon.d.ts +2 -0
  67. package/dist/design-system/components/icons/SVGIcons/MacIcon.js +7 -0
  68. package/dist/design-system/components/icons/SVGIcons/MacromediaIcon.d.ts +3 -0
  69. package/dist/design-system/components/icons/SVGIcons/MacromediaIcon.js +8 -0
  70. package/dist/design-system/components/icons/SVGIcons/OliverIcon.d.ts +2 -0
  71. package/dist/design-system/components/icons/SVGIcons/OliverIcon.js +5 -0
  72. package/dist/design-system/components/icons/SVGIcons/OpenAIIcon.d.ts +2 -0
  73. package/dist/design-system/components/icons/SVGIcons/OpenAIIcon.js +6 -0
  74. package/dist/design-system/components/icons/SVGIcons/PingpongballIcon.d.ts +2 -0
  75. package/dist/design-system/components/icons/SVGIcons/PingpongballIcon.js +8 -0
  76. package/dist/design-system/components/icons/SVGIcons/SafariIcon.d.ts +2 -0
  77. package/dist/design-system/components/icons/SVGIcons/SafariIcon.js +7 -0
  78. package/dist/design-system/components/icons/SVGIcons/WindowsIcon.d.ts +2 -0
  79. package/dist/design-system/components/icons/SVGIcons/WindowsIcon.js +7 -0
  80. package/dist/design-system/components/icons/SVGIcons/WordpressIcon.d.ts +2 -0
  81. package/dist/design-system/components/icons/SVGIcons/WordpressIcon.js +7 -0
  82. package/dist/design-system/components/icons/SVGIcons/XboxIcon.d.ts +2 -0
  83. package/dist/design-system/components/icons/SVGIcons/XboxIcon.js +7 -0
  84. package/dist/design-system/components/icons/index.d.ts +2 -0
  85. package/dist/design-system/components/icons/index.js +1 -0
  86. package/dist/design-system/components/images/FeaturedImage/FeaturedImage.d.ts +2 -0
  87. package/dist/design-system/components/images/FeaturedImage/FeaturedImage.js +67 -0
  88. package/dist/design-system/components/images/FeaturedImage/types.d.ts +1 -0
  89. package/dist/design-system/components/images/FeaturedImage/types.js +1 -0
  90. package/dist/design-system/components/layout/AppShell/AppShell.d.ts +2 -0
  91. package/dist/design-system/components/layout/AppShell/AppShell.js +6 -0
  92. package/dist/design-system/components/layout/AppShell/types.d.ts +1 -0
  93. package/dist/design-system/components/layout/AppShell/types.js +1 -0
  94. package/dist/design-system/components/layout/Footer/Footer.d.ts +2 -0
  95. package/dist/design-system/components/layout/Footer/Footer.js +106 -0
  96. package/dist/design-system/components/layout/Footer/types.d.ts +1 -0
  97. package/dist/design-system/components/layout/Footer/types.js +1 -0
  98. package/dist/design-system/components/layout/Header/Header.d.ts +2 -0
  99. package/dist/design-system/components/layout/Header/Header.js +6 -0
  100. package/dist/design-system/components/layout/Header/types.d.ts +1 -0
  101. package/dist/design-system/components/layout/Header/types.js +1 -0
  102. package/dist/design-system/components/layout/Main/Main.d.ts +2 -0
  103. package/dist/design-system/components/layout/Main/Main.js +4 -0
  104. package/dist/design-system/components/layout/Main/types.d.ts +1 -0
  105. package/dist/design-system/components/layout/Main/types.js +1 -0
  106. package/dist/design-system/components/layout/MenuDrawer/MenuDrawer.d.ts +2 -0
  107. package/dist/design-system/components/layout/MenuDrawer/MenuDrawer.js +31 -0
  108. package/dist/design-system/components/layout/MenuDrawer/types.d.ts +1 -0
  109. package/dist/design-system/components/layout/MenuDrawer/types.js +1 -0
  110. package/dist/design-system/components/layout/PageSection/PageSection.d.ts +2 -0
  111. package/dist/design-system/components/layout/PageSection/PageSection.js +6 -0
  112. package/dist/design-system/components/layout/PageSection/types.d.ts +1 -0
  113. package/dist/design-system/components/layout/PageSection/types.js +1 -0
  114. package/dist/design-system/components/layout/SectionTitle/SectionTitle.d.ts +2 -0
  115. package/dist/design-system/components/layout/SectionTitle/SectionTitle.js +6 -0
  116. package/dist/design-system/components/layout/SectionTitle/types.d.ts +1 -0
  117. package/dist/design-system/components/layout/SectionTitle/types.js +1 -0
  118. package/dist/design-system/components/layout/index.d.ts +7 -0
  119. package/dist/design-system/components/layout/index.js +7 -0
  120. package/dist/design-system/components/lists/List/List.d.ts +2 -0
  121. package/dist/design-system/components/lists/List/List.js +6 -0
  122. package/dist/design-system/components/lists/List/types.d.ts +2 -0
  123. package/dist/design-system/components/lists/List/types.js +1 -0
  124. package/dist/design-system/components/lists/ListItem/ListItem.d.ts +2 -0
  125. package/dist/design-system/components/lists/ListItem/ListItem.js +6 -0
  126. package/dist/design-system/components/lists/ListItem/types.d.ts +2 -0
  127. package/dist/design-system/components/lists/ListItem/types.js +1 -0
  128. package/dist/design-system/components/lists/ListItemButton/ListItemButton.d.ts +2 -0
  129. package/dist/design-system/components/lists/ListItemButton/ListItemButton.js +6 -0
  130. package/dist/design-system/components/lists/ListItemButton/types.d.ts +2 -0
  131. package/dist/design-system/components/lists/ListItemButton/types.js +1 -0
  132. package/dist/design-system/components/lists/ListItemText/ListItemText.d.ts +2 -0
  133. package/dist/design-system/components/lists/ListItemText/ListItemText.js +6 -0
  134. package/dist/design-system/components/lists/ListItemText/types.d.ts +2 -0
  135. package/dist/design-system/components/lists/ListItemText/types.js +1 -0
  136. package/dist/design-system/components/lists/ListSubheader/ListSubheader.d.ts +2 -0
  137. package/dist/design-system/components/lists/ListSubheader/ListSubheader.js +6 -0
  138. package/dist/design-system/components/lists/ListSubheader/types.d.ts +2 -0
  139. package/dist/design-system/components/lists/ListSubheader/types.js +1 -0
  140. package/dist/design-system/components/navigation/Breadcrumb/Breadcrumb.d.ts +2 -0
  141. package/dist/design-system/components/navigation/Breadcrumb/Breadcrumb.js +18 -0
  142. package/dist/design-system/components/navigation/Breadcrumb/types.d.ts +1 -0
  143. package/dist/design-system/components/navigation/Breadcrumb/types.js +1 -0
  144. package/dist/design-system/components/navigation/Share/Share.d.ts +3 -0
  145. package/dist/design-system/components/navigation/Share/Share.js +156 -0
  146. package/dist/design-system/components/navigation/Share/types.d.ts +1 -0
  147. package/dist/design-system/components/navigation/Share/types.js +1 -0
  148. package/dist/design-system/components/navigation/SiteNav/SiteNav.d.ts +3 -0
  149. package/dist/design-system/components/navigation/SiteNav/SiteNav.js +82 -0
  150. package/dist/design-system/components/navigation/SiteNav/types.d.ts +1 -0
  151. package/dist/design-system/components/navigation/SiteNav/types.js +1 -0
  152. package/dist/design-system/components/nxStyle.d.ts +129 -0
  153. package/dist/design-system/components/nxStyle.js +89 -0
  154. package/dist/design-system/components/responsive/Viewport/Viewport.d.ts +4 -0
  155. package/dist/design-system/components/responsive/Viewport/Viewport.js +32 -0
  156. package/dist/design-system/components/responsive/Viewport/types.d.ts +1 -0
  157. package/dist/design-system/components/responsive/Viewport/types.js +1 -0
  158. package/dist/design-system/components/surfaces/Swatch/Swatch.d.ts +2 -0
  159. package/dist/design-system/components/surfaces/Swatch/Swatch.js +19 -0
  160. package/dist/design-system/components/surfaces/Swatch/types.d.ts +1 -0
  161. package/dist/design-system/components/surfaces/Swatch/types.js +1 -0
  162. package/dist/design-system/components/surfaces/SwatchGroup/SwatchGroup.d.ts +2 -0
  163. package/dist/design-system/components/surfaces/SwatchGroup/SwatchGroup.js +12 -0
  164. package/dist/design-system/components/surfaces/SwatchGroup/types.d.ts +1 -0
  165. package/dist/design-system/components/surfaces/SwatchGroup/types.js +1 -0
  166. package/dist/design-system/index.d.ts +23 -0
  167. package/dist/design-system/index.js +22 -0
  168. package/dist/index.d.ts +25 -0
  169. package/dist/index.js +21 -0
  170. package/dist/styles/site-layout.css +354 -0
  171. package/dist/styles/theme.d.ts +3 -0
  172. package/dist/styles/theme.js +120 -0
  173. package/dist/styles/tokens.css +109 -0
  174. package/package.json +19 -1
@@ -0,0 +1,19 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { Box, Typography } from '@mui/material';
4
+ export default function Swatch({ label, value }) {
5
+ const resolvedValue = typeof value === 'string' && value.trim() ? value.trim() : 'transparent';
6
+ return (_jsxs(Box, { sx: {
7
+ borderRadius: '3px',
8
+ border: '1px solid rgba(40, 34, 28, 0.12)',
9
+ backgroundColor: 'background.paper',
10
+ p: 1.5,
11
+ }, children: [_jsx(Box, { "aria-hidden": "true", sx: {
12
+ width: 48,
13
+ aspectRatio: '1 / 1',
14
+ borderRadius: '3px',
15
+ border: '1px solid rgba(40, 34, 28, 0.12)',
16
+ backgroundColor: resolvedValue,
17
+ mb: 1,
18
+ } }), _jsx(Typography, { variant: "body2", sx: { fontWeight: 600, textTransform: 'capitalize' }, children: label }), _jsx(Typography, { variant: "caption", color: "text.secondary", sx: { fontFamily: 'monospace' }, children: value || 'not set' })] }));
19
+ }
@@ -0,0 +1 @@
1
+ export type { SwatchProps } from '../../../types';
@@ -0,0 +1,2 @@
1
+ import type { SwatchGroupProps } from './types';
2
+ export default function SwatchGroup({ items }: SwatchGroupProps): import("react").JSX.Element;
@@ -0,0 +1,12 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { Box } from '@mui/material';
4
+ import Swatch from '../Swatch/Swatch';
5
+ export default function SwatchGroup({ items }) {
6
+ return (_jsx(Box, { sx: {
7
+ display: 'flex',
8
+ flexWrap: 'wrap',
9
+ gap: 1.5,
10
+ alignItems: 'flex-start',
11
+ }, children: items.map((item) => (_jsx(Swatch, { label: item.label, value: item.value }, item.label))) }));
12
+ }
@@ -0,0 +1 @@
1
+ export type { SwatchGroupProps } from '../../../types';
@@ -0,0 +1,23 @@
1
+ export { default as DesignSystemProvider } from './components/DesignSystemProvider/DesignSystemProvider';
2
+ export * from './components/layout';
3
+ export { default as Heading } from './components/headings/Heading/Heading';
4
+ export { default as Logo } from './components/brand/Logo/Logo';
5
+ export { default as List } from './components/lists/List/List';
6
+ export { default as ListItem } from './components/lists/ListItem/ListItem';
7
+ export { default as ListItemButton } from './components/lists/ListItemButton/ListItemButton';
8
+ export { default as ListItemText } from './components/lists/ListItemText/ListItemText';
9
+ export { default as ListSubheader } from './components/lists/ListSubheader/ListSubheader';
10
+ export * from './components/feedback';
11
+ export { default as NxButton } from './components/buttons/Button/Button';
12
+ export { default as IconButton } from './components/buttons/IconButton/IconButton';
13
+ export { default as Breadcrumb } from './components/navigation/Breadcrumb/Breadcrumb';
14
+ export { default as Share } from './components/navigation/Share/Share';
15
+ export { default as SiteNav } from './components/navigation/SiteNav/SiteNav';
16
+ export { default as FeaturedImage } from './components/images/FeaturedImage/FeaturedImage';
17
+ export { default as Swatch } from './components/surfaces/Swatch/Swatch';
18
+ export { default as SwatchGroup } from './components/surfaces/SwatchGroup/SwatchGroup';
19
+ export { default as Icon, ICON_NAMES } from './components/icons/Icon/Icon';
20
+ export { DesktopOnly, MobileOnly, useIsMobile } from './components/responsive/Viewport/Viewport';
21
+ export { createAppTheme } from '../styles/theme';
22
+ export * from './types';
23
+ export type { IconName, IconProps } from './components/icons/Icon/Icon';
@@ -0,0 +1,22 @@
1
+ export { default as DesignSystemProvider } from './components/DesignSystemProvider/DesignSystemProvider';
2
+ export * from './components/layout';
3
+ export { default as Heading } from './components/headings/Heading/Heading';
4
+ export { default as Logo } from './components/brand/Logo/Logo';
5
+ export { default as List } from './components/lists/List/List';
6
+ export { default as ListItem } from './components/lists/ListItem/ListItem';
7
+ export { default as ListItemButton } from './components/lists/ListItemButton/ListItemButton';
8
+ export { default as ListItemText } from './components/lists/ListItemText/ListItemText';
9
+ export { default as ListSubheader } from './components/lists/ListSubheader/ListSubheader';
10
+ export * from './components/feedback';
11
+ export { default as NxButton } from './components/buttons/Button/Button';
12
+ export { default as IconButton } from './components/buttons/IconButton/IconButton';
13
+ export { default as Breadcrumb } from './components/navigation/Breadcrumb/Breadcrumb';
14
+ export { default as Share } from './components/navigation/Share/Share';
15
+ export { default as SiteNav } from './components/navigation/SiteNav/SiteNav';
16
+ export { default as FeaturedImage } from './components/images/FeaturedImage/FeaturedImage';
17
+ export { default as Swatch } from './components/surfaces/Swatch/Swatch';
18
+ export { default as SwatchGroup } from './components/surfaces/SwatchGroup/SwatchGroup';
19
+ export { default as Icon, ICON_NAMES } from './components/icons/Icon/Icon';
20
+ export { DesktopOnly, MobileOnly, useIsMobile } from './components/responsive/Viewport/Viewport';
21
+ export { createAppTheme } from '../styles/theme';
22
+ export * from './types';
package/dist/index.d.ts CHANGED
@@ -2,3 +2,28 @@ export * from "./types";
2
2
  export * from "./lib/utils";
3
3
  export * from "./context";
4
4
  export * from "./components";
5
+ export { default as DesignSystemProvider } from "./design-system/components/DesignSystemProvider/DesignSystemProvider";
6
+ export { default as Heading } from "./design-system/components/headings/Heading/Heading";
7
+ export { default as Logo } from "./design-system/components/brand/Logo/Logo";
8
+ export { default as List } from "./design-system/components/lists/List/List";
9
+ export { default as ListItem } from "./design-system/components/lists/ListItem/ListItem";
10
+ export { default as ListItemButton } from "./design-system/components/lists/ListItemButton/ListItemButton";
11
+ export { default as ListItemText } from "./design-system/components/lists/ListItemText/ListItemText";
12
+ export { default as ListSubheader } from "./design-system/components/lists/ListSubheader/ListSubheader";
13
+ export { default as Alert } from "./design-system/components/feedback/Alert/Alert";
14
+ export { default as Field } from "./design-system/components/feedback/Field/Field";
15
+ export type { AlertProps } from "./design-system/components/feedback/Alert/types";
16
+ export type { FieldProps } from "./design-system/components/feedback/Field/types";
17
+ export { default as NxButton } from "./design-system/components/buttons/Button/Button";
18
+ export { default as IconButton } from "./design-system/components/buttons/IconButton/IconButton";
19
+ export { default as Breadcrumb } from "./design-system/components/navigation/Breadcrumb/Breadcrumb";
20
+ export { default as Share } from "./design-system/components/navigation/Share/Share";
21
+ export { default as SiteNav } from "./design-system/components/navigation/SiteNav/SiteNav";
22
+ export { default as FeaturedImage } from "./design-system/components/images/FeaturedImage/FeaturedImage";
23
+ export { default as Swatch } from "./design-system/components/surfaces/Swatch/Swatch";
24
+ export { default as SwatchGroup } from "./design-system/components/surfaces/SwatchGroup/SwatchGroup";
25
+ export { default as Icon, ICON_NAMES } from "./design-system/components/icons/Icon/Icon";
26
+ export { DesktopOnly, MobileOnly, useIsMobile } from "./design-system/components/responsive/Viewport/Viewport";
27
+ export { createAppTheme } from "./styles/theme";
28
+ export type { IconName, IconProps } from "./design-system/components/icons/Icon/Icon";
29
+ export type { DesignSystemMode, DesignSystemProviderProps, DesignSystemThemeConfig } from "./design-system/types";
package/dist/index.js CHANGED
@@ -2,3 +2,24 @@ export * from "./types";
2
2
  export * from "./lib/utils";
3
3
  export * from "./context";
4
4
  export * from "./components";
5
+ export { default as DesignSystemProvider } from "./design-system/components/DesignSystemProvider/DesignSystemProvider";
6
+ export { default as Heading } from "./design-system/components/headings/Heading/Heading";
7
+ export { default as Logo } from "./design-system/components/brand/Logo/Logo";
8
+ export { default as List } from "./design-system/components/lists/List/List";
9
+ export { default as ListItem } from "./design-system/components/lists/ListItem/ListItem";
10
+ export { default as ListItemButton } from "./design-system/components/lists/ListItemButton/ListItemButton";
11
+ export { default as ListItemText } from "./design-system/components/lists/ListItemText/ListItemText";
12
+ export { default as ListSubheader } from "./design-system/components/lists/ListSubheader/ListSubheader";
13
+ export { default as Alert } from "./design-system/components/feedback/Alert/Alert";
14
+ export { default as Field } from "./design-system/components/feedback/Field/Field";
15
+ export { default as NxButton } from "./design-system/components/buttons/Button/Button";
16
+ export { default as IconButton } from "./design-system/components/buttons/IconButton/IconButton";
17
+ export { default as Breadcrumb } from "./design-system/components/navigation/Breadcrumb/Breadcrumb";
18
+ export { default as Share } from "./design-system/components/navigation/Share/Share";
19
+ export { default as SiteNav } from "./design-system/components/navigation/SiteNav/SiteNav";
20
+ export { default as FeaturedImage } from "./design-system/components/images/FeaturedImage/FeaturedImage";
21
+ export { default as Swatch } from "./design-system/components/surfaces/Swatch/Swatch";
22
+ export { default as SwatchGroup } from "./design-system/components/surfaces/SwatchGroup/SwatchGroup";
23
+ export { default as Icon, ICON_NAMES } from "./design-system/components/icons/Icon/Icon";
24
+ export { DesktopOnly, MobileOnly, useIsMobile } from "./design-system/components/responsive/Viewport/Viewport";
25
+ export { createAppTheme } from "./styles/theme";
@@ -0,0 +1,354 @@
1
+ :root {
2
+ color-scheme: light;
3
+ }
4
+
5
+ .site-shell {
6
+ --site-shell-inline-pad: clamp(1rem, 2.5vw, 2rem);
7
+ display: flex;
8
+ flex-direction: column;
9
+ min-height: 100vh;
10
+ gap: 1.25rem;
11
+ padding: 1.25rem var(--site-shell-inline-pad) calc(6.25rem + env(safe-area-inset-bottom));
12
+ background: var(--surface-page);
13
+ color: var(--text-strong);
14
+ }
15
+
16
+ .site-header,
17
+ .site-footer,
18
+ .site-panel {
19
+ border: 1px solid var(--border-hairline);
20
+ background: var(--surface-paper);
21
+ box-shadow: var(--nx-shadow-card);
22
+ backdrop-filter: blur(10px);
23
+ }
24
+
25
+ .site-header {
26
+ border-radius: 3px;
27
+ padding: 1rem 1.25rem;
28
+ }
29
+
30
+ .site-header-top {
31
+ display: flex;
32
+ align-items: center;
33
+ justify-content: space-between;
34
+ gap: 1rem;
35
+ }
36
+
37
+ .site-brand {
38
+ display: flex;
39
+ align-items: center;
40
+ gap: 1rem;
41
+ flex: 1;
42
+ min-width: 0;
43
+ }
44
+
45
+ .site-header-title-row {
46
+ display: flex;
47
+ align-items: center;
48
+ gap: 1rem;
49
+ flex-wrap: wrap;
50
+ min-width: 0;
51
+ }
52
+
53
+ .site-home-link {
54
+ display: inline-flex;
55
+ align-items: center;
56
+ justify-content: center;
57
+ width: 3rem;
58
+ height: 3rem;
59
+ flex-shrink: 0;
60
+ border-radius: 3px;
61
+ overflow: hidden;
62
+ background: var(--surface-page);
63
+ }
64
+
65
+ .site-home-link img {
66
+ width: 100%;
67
+ height: 100%;
68
+ object-fit: contain;
69
+ }
70
+
71
+ .site-header-text-stack {
72
+ min-width: 0;
73
+ }
74
+
75
+ .site-header-text-stack h1 {
76
+ margin: 0 0 0.25rem;
77
+ font-size: clamp(1.05rem, 1.6vw, 1.35rem);
78
+ line-height: 1.2;
79
+ }
80
+
81
+ .site-breadcrumbs ol {
82
+ display: flex;
83
+ flex-wrap: wrap;
84
+ gap: 0.45rem;
85
+ margin: 0;
86
+ padding: 0;
87
+ list-style: none;
88
+ color: var(--text-subtle);
89
+ font-size: 0.92rem;
90
+ }
91
+
92
+ .site-header-description {
93
+ font-size: 0.9rem;
94
+ color: var(--text-muted);
95
+ }
96
+
97
+ .site-breadcrumbs li + li::before {
98
+ content: "/";
99
+ margin-right: 0.45rem;
100
+ color: var(--text-muted);
101
+ }
102
+
103
+ .site-breadcrumbs a,
104
+ .site-nav-item > a,
105
+ .site-nav-branch-summary a,
106
+ .site-footer a {
107
+ color: inherit;
108
+ text-decoration: none;
109
+ }
110
+
111
+ .site-breadcrumbs a:hover,
112
+ .site-nav-item > a:hover,
113
+ .site-nav-branch-summary a:hover,
114
+ .site-footer a:hover {
115
+ text-decoration: underline;
116
+ }
117
+
118
+ .site-header-mobile-nav {
119
+ display: none;
120
+ }
121
+
122
+ .site-mobile-nav-trigger {
123
+ display: inline-flex;
124
+ align-items: center;
125
+ justify-content: center;
126
+ padding: 0.6rem 0.9rem;
127
+ border-radius: 3px;
128
+ background: var(--surface-ink);
129
+ color: var(--text-on-ink);
130
+ cursor: pointer;
131
+ font-size: 0.92rem;
132
+ font-weight: 400;
133
+ }
134
+
135
+ .site-mobile-nav-panel {
136
+ display: flex;
137
+ flex-direction: column;
138
+ gap: 0.5rem;
139
+ margin-top: 0.75rem;
140
+ padding: 0.75rem;
141
+ border-radius: 3px;
142
+ background: color-mix(in srgb, var(--surface-page) 90%, var(--surface-paper) 10%);
143
+ }
144
+
145
+ .site-main {
146
+ display: grid;
147
+ grid-template-columns: minmax(220px, 260px) minmax(0, 1fr) minmax(220px, 280px);
148
+ grid-template-areas: 'left center right';
149
+ gap: 1.25rem;
150
+ align-items: start;
151
+ flex: 1 0 auto;
152
+ }
153
+
154
+ .site-col {
155
+ min-width: 0;
156
+ }
157
+
158
+ .site-col-left {
159
+ grid-area: left;
160
+ }
161
+
162
+ .site-col-center {
163
+ grid-area: center;
164
+ }
165
+
166
+ .site-col-right {
167
+ grid-area: right;
168
+ }
169
+
170
+ .site-panel {
171
+ border-radius: 3px;
172
+ padding: 1rem 1.1rem;
173
+ }
174
+
175
+ .site-nav-list {
176
+ margin: 0;
177
+ padding: 0;
178
+ list-style: none;
179
+ }
180
+
181
+ .site-nav-item > a,
182
+ .site-nav-branch-summary {
183
+ display: flex;
184
+ align-items: center;
185
+ justify-content: space-between;
186
+ gap: 0.75rem;
187
+ padding: 0.25rem 0;
188
+ color: var(--text-strong);
189
+ }
190
+
191
+ .site-nav-item > a:hover,
192
+ .site-nav-branch-summary:hover {
193
+ background: none;
194
+ transform: none;
195
+ }
196
+
197
+ .site-nav-branch summary {
198
+ list-style: none;
199
+ }
200
+
201
+ .site-nav-branch summary::-webkit-details-marker {
202
+ display: none;
203
+ }
204
+
205
+ .site-featured-image {
206
+ margin-bottom: 1rem;
207
+ overflow: hidden;
208
+ border-radius: 3px;
209
+ background: color-mix(in srgb, var(--surface-page) 90%, var(--surface-paper) 10%);
210
+ }
211
+
212
+ .site-featured-image-bg {
213
+ display: block;
214
+ width: 100%;
215
+ max-height: 320px;
216
+ object-fit: cover;
217
+ }
218
+
219
+ .site-sidebar-placeholder {
220
+ display: flex;
221
+ flex-direction: column;
222
+ gap: 0.5rem;
223
+ }
224
+
225
+ .site-sidebar-placeholder-label {
226
+ margin: 0;
227
+ font-weight: 400;
228
+ }
229
+
230
+ .site-sidebar-placeholder-text {
231
+ margin: 0;
232
+ color: var(--text-subtle);
233
+ line-height: 1.6;
234
+ }
235
+
236
+ .site-footer {
237
+ position: fixed;
238
+ top: auto;
239
+ left: 0;
240
+ width: 100vw;
241
+ transform: none;
242
+ bottom: 0;
243
+ z-index: 1300;
244
+ margin: 0;
245
+ border: 1px solid var(--border-hairline);
246
+ border-left: 0;
247
+ border-right: 0;
248
+ border-bottom: 0;
249
+ border-radius: 0;
250
+ background: color-mix(in srgb, var(--surface-page) 72%, transparent);
251
+ backdrop-filter: blur(14px) saturate(130%);
252
+ -webkit-backdrop-filter: blur(14px) saturate(130%);
253
+ box-shadow: 0 -12px 32px rgba(0, 0, 0, 0.12);
254
+ }
255
+
256
+ .site-footer-toolbar {
257
+ width: min(1400px, calc(100% - (var(--site-shell-inline-pad) * 2)));
258
+ margin-inline: auto;
259
+ min-height: 0;
260
+ padding: 0.65rem 0 calc(0.65rem + env(safe-area-inset-bottom));
261
+ justify-content: center;
262
+ }
263
+
264
+ .site-footer-columns {
265
+ width: 100%;
266
+ display: grid;
267
+ grid-template-columns: repeat(4, minmax(0, 1fr));
268
+ align-items: flex-start;
269
+ justify-items: start;
270
+ gap: clamp(0.8rem, 2vw, 2rem);
271
+ }
272
+
273
+ .site-footer-section {
274
+ min-width: 0;
275
+ text-align: left;
276
+ }
277
+
278
+ .site-footer-section h3 {
279
+ margin: 0 0 0.2rem;
280
+ font-size: 0.8rem;
281
+ font-weight: 400;
282
+ }
283
+
284
+ .site-footer-section ul {
285
+ margin: 0;
286
+ padding: 0;
287
+ list-style: none;
288
+ display: flex;
289
+ flex-direction: column;
290
+ gap: 0.2rem;
291
+ }
292
+
293
+ @media (min-width: 1000px) {
294
+ .site-header-description {
295
+ font-size: 1.125rem;
296
+ }
297
+ }
298
+
299
+ @media (max-width: 999px) {
300
+ .site-main {
301
+ grid-template-columns: 1fr;
302
+ grid-template-areas:
303
+ 'right'
304
+ 'center';
305
+ }
306
+
307
+ .site-col-left {
308
+ display: none;
309
+ }
310
+
311
+ .site-col-right {
312
+ display: block;
313
+ }
314
+
315
+ .site-shell {
316
+ --site-shell-inline-pad: 0.9rem;
317
+ padding: 0.9rem 0.9rem calc(7.25rem + env(safe-area-inset-bottom));
318
+ }
319
+
320
+ .site-header-top {
321
+ flex-wrap: wrap;
322
+ align-items: flex-start;
323
+ }
324
+
325
+ .site-header-mobile-nav {
326
+ display: block;
327
+ }
328
+
329
+ .site-header {
330
+ padding: 0.9rem;
331
+ }
332
+
333
+ .site-header-title-row {
334
+ align-items: flex-start;
335
+ }
336
+
337
+ .site-home-link {
338
+ width: 2.75rem;
339
+ height: 2.75rem;
340
+ }
341
+ }
342
+
343
+ @media (max-width: 800px) {
344
+ .site-footer-columns {
345
+ grid-template-columns: repeat(2, minmax(0, 1fr));
346
+ gap: 0.8rem;
347
+ }
348
+ }
349
+
350
+ @media (max-width: 520px) {
351
+ .site-footer-columns {
352
+ grid-template-columns: 1fr;
353
+ }
354
+ }
@@ -0,0 +1,3 @@
1
+ import type { DesignSystemMode, DesignSystemThemeConfig } from '../design-system/types';
2
+ export declare function createAppTheme(mode?: DesignSystemMode, themeConfig?: DesignSystemThemeConfig): import("@mui/material").Theme;
3
+ export default createAppTheme;
@@ -0,0 +1,120 @@
1
+ import { createTheme } from '@mui/material/styles';
2
+ export function createAppTheme(mode = 'light', themeConfig) {
3
+ const isDark = mode === 'dark';
4
+ const resolvedPrimary = themeConfig?.primary ?? (isDark ? '#F3F3F3' : '#5A5A5A');
5
+ const resolvedSecondary = themeConfig?.secondary ?? (isDark ? '#E3E3E3' : '#7A7A7A');
6
+ const palette = {
7
+ dark: {
8
+ primary: resolvedPrimary,
9
+ secondary: resolvedSecondary,
10
+ background: '#111111',
11
+ paper: '#1C1C1C',
12
+ text: '#F7F7F7',
13
+ textSecondary: '#C7C7C7',
14
+ border: 'rgba(255, 255, 255, 0.16)',
15
+ borderSoft: 'rgba(255, 255, 255, 0.10)',
16
+ shadow: '0 12px 40px rgba(0, 0, 0, 0.35)',
17
+ buttonShadow: '0 12px 30px rgba(0, 0, 0, 0.4)',
18
+ },
19
+ light: {
20
+ primary: resolvedPrimary,
21
+ secondary: resolvedSecondary,
22
+ background: '#FFFFFF',
23
+ paper: '#FFFFFF',
24
+ text: '#1E1E1E',
25
+ textSecondary: '#5A5A5A',
26
+ border: 'rgba(31, 31, 31, 0.14)',
27
+ borderSoft: 'rgba(31, 31, 31, 0.08)',
28
+ shadow: '0 12px 40px rgba(31, 31, 31, 0.12)',
29
+ buttonShadow: '0 12px 30px rgba(31, 31, 31, 0.18)',
30
+ },
31
+ }[mode];
32
+ const resolvedPalette = {
33
+ ...palette,
34
+ background: themeConfig?.background ?? palette.background,
35
+ paper: themeConfig?.paper ?? palette.paper,
36
+ text: themeConfig?.text ?? palette.text,
37
+ textSecondary: themeConfig?.textSecondary ?? palette.textSecondary,
38
+ };
39
+ return createTheme({
40
+ palette: {
41
+ mode,
42
+ primary: {
43
+ main: resolvedPalette.primary,
44
+ contrastText: isDark ? '#111111' : '#FFFFFF',
45
+ },
46
+ secondary: {
47
+ main: resolvedPalette.secondary,
48
+ contrastText: isDark ? '#111111' : '#FFFFFF',
49
+ },
50
+ background: {
51
+ default: resolvedPalette.background,
52
+ paper: resolvedPalette.paper,
53
+ },
54
+ text: {
55
+ primary: resolvedPalette.text,
56
+ secondary: resolvedPalette.textSecondary,
57
+ },
58
+ },
59
+ shape: {
60
+ borderRadius: 3
61
+ },
62
+ typography: {
63
+ fontFamily: 'var(--font-title)',
64
+ h1: {
65
+ fontFamily: 'var(--font-title)',
66
+ fontWeight: 400,
67
+ fontSize: '2.5rem',
68
+ lineHeight: 1.05,
69
+ letterSpacing: '-0.02em',
70
+ color: resolvedPalette.secondary,
71
+ },
72
+ h2: {
73
+ fontFamily: 'var(--font-title)',
74
+ fontWeight: 400,
75
+ fontSize: '2rem',
76
+ lineHeight: 1.1,
77
+ color: resolvedPalette.secondary,
78
+ },
79
+ h3: {
80
+ fontFamily: 'var(--font-title)',
81
+ fontWeight: 400,
82
+ fontSize: '1.5rem',
83
+ color: resolvedPalette.secondary,
84
+ },
85
+ button: {
86
+ textTransform: 'none',
87
+ fontWeight: 400,
88
+ letterSpacing: '0.01em'
89
+ }
90
+ },
91
+ components: {
92
+ MuiButton: {
93
+ styleOverrides: {
94
+ root: {
95
+ borderRadius: '3px',
96
+ padding: '0.7rem 1.2rem',
97
+ boxShadow: resolvedPalette.buttonShadow,
98
+ },
99
+ },
100
+ },
101
+ MuiCard: {
102
+ styleOverrides: {
103
+ root: {
104
+ border: `1px solid ${resolvedPalette.border}`,
105
+ boxShadow: resolvedPalette.shadow,
106
+ },
107
+ },
108
+ },
109
+ MuiPaper: {
110
+ styleOverrides: {
111
+ root: {
112
+ borderRadius: '3px',
113
+ border: `1px solid ${resolvedPalette.borderSoft}`,
114
+ },
115
+ },
116
+ },
117
+ },
118
+ });
119
+ }
120
+ export default createAppTheme;