@dxos/ui-theme 0.8.4-main.bc674ce → 0.8.4-main.ef1bc66f44

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 (91) hide show
  1. package/dist/lib/browser/index.mjs +298 -203
  2. package/dist/lib/browser/index.mjs.map +4 -4
  3. package/dist/lib/browser/meta.json +1 -1
  4. package/dist/lib/node-esm/index.mjs +298 -203
  5. package/dist/lib/node-esm/index.mjs.map +4 -4
  6. package/dist/lib/node-esm/meta.json +1 -1
  7. package/dist/plugin/node-cjs/{chunk-ZVALPM6U.cjs → chunk-YBWOZKXY.cjs} +41 -26
  8. package/dist/plugin/node-cjs/chunk-YBWOZKXY.cjs.map +7 -0
  9. package/dist/plugin/node-cjs/config/tailwind.cjs +2 -2
  10. package/dist/plugin/node-cjs/config/tailwind.cjs.map +1 -1
  11. package/dist/plugin/node-cjs/meta.json +1 -1
  12. package/dist/plugin/node-cjs/plugins/esbuild-plugin.cjs +2 -2
  13. package/dist/plugin/node-cjs/plugins/plugin.cjs +3 -3
  14. package/dist/plugin/node-cjs/theme.css +38 -78
  15. package/dist/plugin/node-cjs/theme.css.map +3 -3
  16. package/dist/plugin/node-esm/{chunk-HJE6EZWE.mjs → chunk-LTGUAP22.mjs} +42 -27
  17. package/dist/plugin/node-esm/chunk-LTGUAP22.mjs.map +7 -0
  18. package/dist/plugin/node-esm/config/tailwind.mjs +1 -1
  19. package/dist/plugin/node-esm/meta.json +1 -1
  20. package/dist/plugin/node-esm/plugins/esbuild-plugin.mjs +1 -1
  21. package/dist/plugin/node-esm/plugins/plugin.mjs +1 -1
  22. package/dist/plugin/node-esm/theme.css +38 -78
  23. package/dist/plugin/node-esm/theme.css.map +3 -3
  24. package/dist/types/src/config/tailwind.d.ts.map +1 -1
  25. package/dist/types/src/config/tokens/index.d.ts +1 -484
  26. package/dist/types/src/config/tokens/index.d.ts.map +1 -1
  27. package/dist/types/src/config/tokens/lengths.d.ts +12 -9
  28. package/dist/types/src/config/tokens/lengths.d.ts.map +1 -1
  29. package/dist/types/src/config/tokens/semantic-colors.d.ts +5 -0
  30. package/dist/types/src/config/tokens/semantic-colors.d.ts.map +1 -1
  31. package/dist/types/src/config/tokens/sememes-system.d.ts +5 -0
  32. package/dist/types/src/config/tokens/sememes-system.d.ts.map +1 -1
  33. package/dist/types/src/config/tokens/sizes.d.ts +2 -0
  34. package/dist/types/src/config/tokens/sizes.d.ts.map +1 -1
  35. package/dist/types/src/config/tokens/tokens.d.ts +498 -0
  36. package/dist/types/src/config/tokens/tokens.d.ts.map +1 -0
  37. package/dist/types/src/index.d.ts +3 -2
  38. package/dist/types/src/index.d.ts.map +1 -1
  39. package/dist/types/src/styles/components/dialog.d.ts +2 -0
  40. package/dist/types/src/styles/components/dialog.d.ts.map +1 -1
  41. package/dist/types/src/styles/components/index.d.ts +1 -0
  42. package/dist/types/src/styles/components/index.d.ts.map +1 -1
  43. package/dist/types/src/styles/components/main.d.ts +0 -5
  44. package/dist/types/src/styles/components/main.d.ts.map +1 -1
  45. package/dist/types/src/styles/components/menu.d.ts.map +1 -1
  46. package/dist/types/src/styles/components/scroll-area.d.ts +12 -5
  47. package/dist/types/src/styles/components/scroll-area.d.ts.map +1 -1
  48. package/dist/types/src/styles/components/skeleton.d.ts +7 -0
  49. package/dist/types/src/styles/components/skeleton.d.ts.map +1 -0
  50. package/dist/types/src/styles/components/toolbar.d.ts +4 -4
  51. package/dist/types/src/styles/components/toolbar.d.ts.map +1 -1
  52. package/dist/types/src/styles/index.d.ts +2 -1
  53. package/dist/types/src/styles/index.d.ts.map +1 -1
  54. package/dist/types/src/styles/primitives/container.d.ts +15 -0
  55. package/dist/types/src/styles/primitives/container.d.ts.map +1 -0
  56. package/dist/types/src/styles/primitives/index.d.ts +2 -0
  57. package/dist/types/src/styles/primitives/index.d.ts.map +1 -0
  58. package/dist/types/src/styles/theme.d.ts +3 -3
  59. package/dist/types/src/styles/theme.d.ts.map +1 -1
  60. package/dist/types/tsconfig.tsbuildinfo +1 -1
  61. package/package.json +5 -5
  62. package/src/Tokens.stories.tsx +2 -2
  63. package/src/config/tailwind.ts +4 -3
  64. package/src/config/tokens/index.ts +2 -88
  65. package/src/config/tokens/lengths.ts +14 -5
  66. package/src/config/tokens/sememes-system.ts +6 -1
  67. package/src/config/tokens/sizes.ts +2 -0
  68. package/src/config/tokens/tokens.ts +90 -0
  69. package/src/index.ts +3 -2
  70. package/src/styles/components/dialog.ts +9 -1
  71. package/src/styles/components/index.ts +1 -0
  72. package/src/styles/components/main.ts +0 -4
  73. package/src/styles/components/menu.ts +2 -10
  74. package/src/styles/components/popover.ts +3 -3
  75. package/src/styles/components/scroll-area.ts +70 -23
  76. package/src/styles/components/skeleton.ts +23 -0
  77. package/src/styles/components/toolbar.ts +16 -9
  78. package/src/styles/components/tooltip.ts +2 -2
  79. package/src/styles/fragments/size.ts +2 -2
  80. package/src/styles/index.ts +2 -1
  81. package/src/styles/layers/dialog.css +1 -5
  82. package/src/styles/layers/index.css +1 -0
  83. package/src/styles/layers/main.css +29 -73
  84. package/src/styles/layers/scrollbar.css +10 -0
  85. package/src/styles/layers/size.css +17 -19
  86. package/src/styles/layers/tokens.css +2 -1
  87. package/src/styles/primitives/container.ts +33 -0
  88. package/src/styles/primitives/index.ts +5 -0
  89. package/src/styles/theme.ts +29 -5
  90. package/dist/plugin/node-cjs/chunk-ZVALPM6U.cjs.map +0 -7
  91. package/dist/plugin/node-esm/chunk-HJE6EZWE.mjs.map +0 -7
@@ -44,7 +44,7 @@
44
44
  }
45
45
 
46
46
  .dx-dialog__content {
47
- @apply flex flex-col is-dvw max-is-full p-4 shadow-md backdrop-blur;
47
+ @apply flex flex-col is-dvw max-bs-full max-is-full p-4 overflow-hidden shadow-md backdrop-blur;
48
48
 
49
49
  &[data-state='open'] {
50
50
  @apply animate-slide-up-and-fade;
@@ -70,8 +70,4 @@
70
70
  .dx-dialog__title {
71
71
  @apply shrink-0 text-xl font-medium;
72
72
  }
73
-
74
- .dx-dialog__description {
75
- @apply mlb-2;
76
- }
77
73
  }
@@ -16,6 +16,7 @@
16
16
  @import './positioning.css';
17
17
  @import './main.css';
18
18
  @import './native.css';
19
+ @import './scrollbar.css';
19
20
  @import './size.css';
20
21
  @import './surfaces.css';
21
22
  @import './tag.css';
@@ -1,20 +1,31 @@
1
1
  @layer utilities {
2
+ /**
3
+ * Main Web app.
4
+ */
5
+ .dx-main-bounce-layout {
6
+ @apply fixed overflow-auto overscroll-auto;
7
+ @apply duration-200 ease-in-out-symmetric;
8
+ transition-property: padding-inline-start, padding-inline-end, scroll-padding-start, scroll-padding-end;
9
+ inset-inline-start: 0;
10
+ inset-inline-end: 0;
11
+ inset-block-start: 0;
12
+ inset-block-end: 0;
13
+ z-index: 0;
14
+ }
15
+
16
+ /**
17
+ * Main Mobile app.
18
+ */
19
+ .dx-main-mobile-layout {
20
+ @apply absolute inset-0 overflow-hidden flex flex-col;
21
+ }
22
+
23
+ /**
24
+ * Main content padding.
25
+ */
2
26
  .dx-main-content-padding {
3
27
  @apply pis-0 scroll-ps-0 pie-0 scroll-pe-0;
4
28
 
5
- /* Constrain content height when drawer is expanded. */
6
- &[data-drawer-state='expanded'] {
7
- max-block-size: calc(100dvh - var(--drawer-size));
8
- }
9
-
10
- /* Hide content when drawer is full. */
11
- &[data-drawer-state='full'] {
12
- max-block-size: 0;
13
- overflow: hidden !important;
14
- visibility: hidden;
15
- pointer-events: none;
16
- }
17
-
18
29
  @media (min-width: theme('screens.lg')) {
19
30
  &[data-sidebar-inline-start-state='collapsed'] {
20
31
  @apply pis-[--l0-size] scroll-ps-[--l0-size];
@@ -32,11 +43,15 @@
32
43
  }
33
44
  }
34
45
 
46
+ /** TODO(burdon): Reconcile with dx-main-bounce-layout */
35
47
  .dx-main-content-padding-transitions {
36
- transition-property: padding-inline-start, padding-inline-end, scroll-padding-start, scroll-padding-end;
37
48
  @apply duration-200 ease-in-out-symmetric;
49
+ transition-property: padding-inline-start, padding-inline-end, scroll-padding-start, scroll-padding-end;
38
50
  }
39
51
 
52
+ /**
53
+ *
54
+ */
40
55
  .dx-main-intrinsic-size {
41
56
  @apply is-[calc(100dvw)-2*var(--main-spacing)] transition-[inline-size] ease-in-out-symmetric duration-200;
42
57
 
@@ -74,26 +89,6 @@
74
89
  }
75
90
  }
76
91
  }
77
-
78
- .dx-main-bounce-layout {
79
- @apply fixed overflow-auto overscroll-auto;
80
- @apply duration-200 ease-in-out-symmetric;
81
- transition-property: inset-block-end;
82
- inset-inline-start: 0;
83
- inset-inline-end: 0;
84
- inset-block-start: 0;
85
- inset-block-end: 0;
86
- z-index: 0;
87
-
88
- &[data-drawer-state='expanded'] {
89
- inset-block-end: var(--drawer-size);
90
- }
91
-
92
- &[data-drawer-state='full'] {
93
- inset-block-end: var(--visual-viewport-height, 100dvh);
94
- pointer-events: none;
95
- }
96
- }
97
92
  }
98
93
 
99
94
  @layer dx-components {
@@ -170,45 +165,6 @@
170
165
  }
171
166
  }
172
167
 
173
- .dx-main-drawer {
174
- @apply fixed overflow-hidden;
175
- @apply duration-200 ease-in-out-symmetric;
176
- @apply border-bs-landmarkLine border-subduedSeparator;
177
- @apply sidebar-surface backdrop-blur-md dark:backdrop-blur-lg;
178
- overscroll-behavior: contain;
179
- touch-action: pan-y;
180
-
181
- /* Ensure scrollable children contain their scroll. */
182
- & [class*='overflow-y-auto'],
183
- & [class*='overflow-auto'] {
184
- overscroll-behavior-y: contain;
185
- -webkit-overflow-scrolling: touch;
186
- }
187
-
188
- transition-property: inset-block-end, block-size;
189
- inset-inline-start: 0;
190
- inset-inline-end: 0;
191
- z-index: 1;
192
-
193
- &[data-resizing='false'] {
194
- @apply duration-200;
195
- }
196
-
197
- &[data-state='closed'] {
198
- block-size: var(--drawer-size);
199
- inset-block-end: calc(-1 * var(--drawer-size));
200
- }
201
-
202
- &[data-state='expanded'] {
203
- block-size: var(--drawer-size);
204
- inset-block-end: max(0px, env(safe-area-inset-bottom));
205
- }
206
-
207
- &[data-state='full'] {
208
- block-size: var(--visual-viewport-height, 100dvh);
209
- inset-block-end: max(0px, env(safe-area-inset-bottom));
210
- }
211
- }
212
168
 
213
169
  .dx-main-overlay {
214
170
  @apply fixed inset-0 bg-scrimSurface;
@@ -0,0 +1,10 @@
1
+ /* Pseudo-classes not supported by Tailwind. */
2
+ @layer components {
3
+ ::-webkit-scrollbar-thumb:hover {
4
+ @apply bg-scrollbarThumbHover !important;
5
+ }
6
+
7
+ ::-webkit-scrollbar-thumb:active {
8
+ @apply bg-scrollbarThumbActive !important;
9
+ }
10
+ }
@@ -1,10 +1,12 @@
1
1
  /**
2
2
  * @layer dx-components
3
+ * See lengths.ts for dx- sememes.
3
4
  */
4
5
 
5
6
  /**
6
7
  * Container query root.
7
8
  */
9
+
8
10
  .size-container {
9
11
  container-type: size;
10
12
  }
@@ -13,6 +15,17 @@
13
15
  @apply is-full max-is-container-max-width mli-auto;
14
16
  }
15
17
 
18
+ /**
19
+ * Card
20
+ */
21
+
22
+ .card-square {
23
+ inline-size: min(min(var(--radix-popper-available-width), var(--dx-card-max-width)),
24
+ min(var(--radix-popper-available-height), 100dvh));
25
+ block-size: min(min(var(--radix-popper-available-width), var(--dx-card-max-width)),
26
+ min(var(--radix-popper-available-height), 100dvh));
27
+ }
28
+
16
29
  .card-default-width {
17
30
  @apply is-card-default-width;
18
31
  }
@@ -25,27 +38,12 @@
25
38
  @apply is-full max-is-card-max-width;
26
39
  }
27
40
 
28
- .popover-max-width {
29
- @apply is-max max-is-popover-max-width;
30
- }
31
-
32
- .popover-card-width {
33
- inline-size: min(var(--radix-popper-available-width), calc(var(--dx-popover-max-width) - 2 * var(--dx-hairLine)));
34
- }
35
-
36
- .popover-card-height {
37
- block-size: min(var(--radix-popper-available-height), 100dvh);
38
- }
39
-
40
- .popover-square {
41
- inline-size: min(min(var(--radix-popper-available-width), var(--dx-popover-max-width)),
42
- min(var(--radix-popper-available-height), 100dvh));
43
- block-size: min(min(var(--radix-popper-available-width), var(--dx-popover-max-width)),
44
- min(var(--radix-popper-available-height), 100dvh));
41
+ .popover-card-max-width {
42
+ inline-size: min(var(--radix-popper-available-width), var(--dx-card-max-width));
45
43
  }
46
44
 
47
- .popover-card-max-width {
48
- max-inline-size: min(var(--radix-popper-available-width), var(--dx-popover-max-width));
45
+ .popover-card-max-height {
46
+ block-size: min(var(--radix-popper-available-height), var(--dx-card-max-height));
49
47
  }
50
48
 
51
49
  @layer dx-components {
@@ -13,7 +13,8 @@
13
13
  --line-height: 32px;
14
14
  --topbar-size: var(--rail-size);
15
15
  --toolbar-size: var(--rail-content);
16
- --statusbar-size: theme(spacing.8);
16
+ --statusbar-size: var(--rail-content);
17
+ /* --statusbar-size: theme(spacing.8); */
17
18
  --nav-sidebar-size: 22.5rem;
18
19
  --complementary-sidebar-size: 25rem;
19
20
  --drawer-size: 50dvh;
@@ -0,0 +1,33 @@
1
+ //
2
+ // Copyright 2026 DXOS.org
3
+ //
4
+
5
+ import { type ComponentFunction } from '@dxos/ui-types';
6
+
7
+ import { mx } from '../../util';
8
+
9
+ /**
10
+ * Padding variants:
11
+ * - sm: Default padding for inputs, forms, etc.
12
+ * - md: Padding for cards.
13
+ * - lg: Padding for dialogs.
14
+ */
15
+ export type ColumnPadding = 'sm' | 'md' | 'lg';
16
+
17
+ export type ColumnStyleProps = {
18
+ variant?: ColumnPadding;
19
+ };
20
+
21
+ // TODO(burdon): Remove these TW types and just define here.
22
+ const padding: Record<ColumnPadding, string> = {
23
+ sm: 'pli-2',
24
+ md: 'pli-3',
25
+ lg: 'pli-6',
26
+ };
27
+
28
+ const containerColumn: ComponentFunction<ColumnStyleProps> = ({ variant }, ...etc) =>
29
+ mx(variant && padding[variant], ...etc);
30
+
31
+ export const containerTheme = {
32
+ column: containerColumn,
33
+ };
@@ -0,0 +1,5 @@
1
+ //
2
+ // Copyright 2026 DXOS.org
3
+ //
4
+
5
+ export * from './container';
@@ -2,7 +2,7 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import { type ComponentFunction, type Theme } from '@dxos/ui-types';
5
+ import { type ClassNameArray, type ComponentFunction, type Theme, type ThemeFunction } from '@dxos/ui-types';
6
6
  import { get } from '@dxos/util';
7
7
 
8
8
  import {
@@ -23,6 +23,7 @@ import {
23
23
  scrollAreaTheme,
24
24
  selectTheme,
25
25
  separatorTheme,
26
+ skeletonTheme,
26
27
  statusTheme,
27
28
  tagTheme,
28
29
  toastTheme,
@@ -30,10 +31,21 @@ import {
30
31
  tooltipTheme,
31
32
  treegridTheme,
32
33
  } from './components';
34
+ import { containerTheme } from './primitives';
33
35
 
34
36
  export const defaultTheme: Theme<Record<string, any>> = {
35
37
  themeName: () => 'default',
36
38
 
39
+ //
40
+ // Primitives
41
+ //
42
+
43
+ container: containerTheme,
44
+
45
+ //
46
+ // Components
47
+ //
48
+
37
49
  anchoredOverflow: anchoredOverflowTheme,
38
50
  avatar: avatarTheme,
39
51
  breadcrumb: breadcrumbTheme,
@@ -48,9 +60,10 @@ export const defaultTheme: Theme<Record<string, any>> = {
48
60
  message: messageTheme,
49
61
  menu: menuTheme,
50
62
  popover: popoverTheme,
51
- select: selectTheme,
52
63
  scrollArea: scrollAreaTheme,
64
+ select: selectTheme,
53
65
  separator: separatorTheme,
66
+ skeleton: skeletonTheme,
54
67
  status: statusTheme,
55
68
  tag: tagTheme,
56
69
  toast: toastTheme,
@@ -59,10 +72,21 @@ export const defaultTheme: Theme<Record<string, any>> = {
59
72
  treegrid: treegridTheme,
60
73
  };
61
74
 
62
- export const bindTheme = <P extends Record<string, any>>(theme: Theme<Record<string, any>>) => {
63
- return (path: string, defaultClassName: string, styleProps: P, ...options: any[]): string => {
75
+ // TODO(burdon): Missing!
76
+ // treegrid.cell => treegrid__cell
77
+ const missing = new Set();
78
+
79
+ export const bindTheme = <P extends Record<string, any>>(theme: Theme<Record<string, any>>): ThemeFunction<P> => {
80
+ return (path: string, defaultClassName: string, styleProps?: P, ...etc: ClassNameArray): string => {
64
81
  const result: Theme<P> | ComponentFunction<P> = get(theme, path);
65
- return typeof result === 'function' ? result(styleProps, ...options) : defaultClassName;
82
+ const className = typeof result === 'function' && result(styleProps ?? ({} as P), ...etc);
83
+ if (!className) {
84
+ if (!missing.has(path)) {
85
+ // console.warn(`Missing theme path: ${path} => ${defaultClassName}`);
86
+ missing.add(path);
87
+ }
88
+ }
89
+ return className || defaultClassName;
66
90
  };
67
91
  };
68
92
 
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/config/tailwind.ts", "../../../src/config/tokens/index.ts", "../../../src/config/tokens/physical-colors.ts", "../../../src/config/tokens/sememes-hue.ts", "../../../src/config/tokens/sememes-sheet.ts", "../../../src/config/tokens/sememes-system.ts", "../../../src/config/tokens/alias-colors.ts", "../../../src/config/tokens/sizes.ts", "../../../src/config/tokens/lengths.ts", "../../../src/config/tokens/sememes-calls.ts", "../../../src/config/tokens/sememes-codemirror.ts", "../../../src/config/tokens/semantic-colors.ts"],
4
- "sourcesContent": ["//\n// Copyright 2022 DXOS.org\n//\n\nimport tailwindcssContainerQueries from '@tailwindcss/container-queries';\nimport tailwindcssForms from '@tailwindcss/forms';\nimport merge from 'lodash.merge';\nimport tailwindScrollbar from 'tailwind-scrollbar';\nimport defaultConfig from 'tailwindcss/stubs/config.full.js';\nimport { type Config, type ThemeConfig } from 'tailwindcss/types/config';\nimport tailwindcssLogical from 'tailwindcss-logical';\nimport tailwindcssRadix from 'tailwindcss-radix';\n\nimport { tokensTailwindConfig } from './tokens';\n\nexport type TailwindConfig = Config;\nexport type TailwindThemeConfig = ThemeConfig;\n\nconst { extend: extendTokens, ...overrideTokens } = tokensTailwindConfig;\n\nexport const tailwindConfig = ({\n env = 'production',\n content = [],\n extensions = [],\n}: {\n env?: string;\n content?: string[];\n extensions?: Partial<TailwindThemeConfig>[];\n}): TailwindConfig => ({\n darkMode: 'class',\n theme: {\n // Configure fonts in theme.css and package.json.\n fontFamily: {\n body: ['Inter Variable', ...defaultConfig.theme.fontFamily.sans],\n mono: ['JetBrains Mono Variable', ...defaultConfig.theme.fontFamily.mono],\n },\n extend: merge(\n {\n // Generates is-card-default-width, is-card-min-width, etc.\n spacing: {\n 'card-default-width': 'var(--dx-card-default-width)',\n 'card-min-width': 'var(--dx-card-min-width)',\n 'card-max-width': 'var(--dx-card-max-width)',\n 'container-max-width': 'var(--dx-container-max-width)',\n 'popover-max-width': 'var(--dx-popover-max-width)',\n 'prose-max-width': 'var(--dx-prose-max-width)',\n },\n backgroundImage: {\n 'gradient-radial': 'radial-gradient(var(--tw-gradient-stops))',\n 'gradient-conic': 'conic-gradient(from 180deg at 50% 50%, var(--tw-gradient-stops))',\n },\n borderRadius: {\n none: '0',\n sm: '0.25rem',\n DEFAULT: '0.5rem',\n md: '0.75rem',\n lg: '1rem',\n },\n screens: {\n 'pointer-fine': { raw: '(pointer: fine)' },\n 'hover-hover': { raw: '(hover: hover)' },\n 'md': '768px',\n 'lg': '1024px',\n },\n fontSize: {\n // Base size 16px\n // Scale 1.125\n 'xs': ['0.790rem', { lineHeight: '1rem' }],\n 'sm': ['0.889rem', { lineHeight: '1.25rem' }],\n 'base': ['1rem', { lineHeight: '1.5rem' }],\n 'lg': ['1.125rem', { lineHeight: '1.75rem' }],\n 'xl': ['1.266rem', { lineHeight: '1.75rem' }],\n '2xl': ['1.424rem', { lineHeight: '2rem' }],\n '3xl': ['1.602rem', { lineHeight: '2.25rem' }],\n '4xl': ['1.802rem', { lineHeight: '2.5rem' }],\n '5xl': ['2.027rem', { lineHeight: '2.5rem' }],\n '6xl': ['2.281rem', { lineHeight: '2.5rem' }],\n '7xl': ['2.566rem', { lineHeight: '2.75rem' }],\n '8xl': ['2.887rem', { lineHeight: '3rem' }],\n '9xl': ['3.247rem', { lineHeight: '3.25rem' }],\n },\n boxShadow: {\n 'slider': '0 0 0 5px rgba(0, 0, 0, 0.3)',\n },\n transitionProperty: {\n 'max-height': 'max-height',\n },\n transitionTimingFunction: {\n 'in-out-symmetric': 'cubic-bezier(0.5, 0, 0.5, 1)',\n },\n keyframes: {\n // Fade\n 'fade-in': {\n from: { opacity: 0 },\n to: { opacity: 1 },\n },\n 'fade-out': {\n from: { opacity: 1 },\n to: { opacity: 0 },\n },\n\n // Popper chrome\n 'slide-down-and-fade': {\n from: { opacity: 1, transform: 'translateY(0)' },\n to: { opacity: 0, transform: 'translateY(16px)' },\n },\n 'slide-left-and-fade': {\n from: { opacity: 0, transform: 'translateX(-16px)' },\n to: { opacity: 1, transform: 'translateX(0)' },\n },\n 'slide-up-and-fade': {\n from: { opacity: 0, transform: 'translateY(16px)' },\n to: { opacity: 1, transform: 'translateY(0)' },\n },\n 'slide-right-and-fade': {\n from: { opacity: 0, transform: 'translateX(16px)' },\n to: { opacity: 1, transform: 'translateX(0)' },\n },\n\n // Toast\n 'toast-hide': {\n '0%': { opacity: '1' },\n '100%': { opacity: '0' },\n },\n 'toast-slide-in-right': {\n '0%': { transform: 'translateX(calc(100% + 1rem))' },\n '100%': { transform: 'translateX(0)' },\n },\n 'toast-slide-in-bottom': {\n '0%': { transform: 'translateY(calc(100% + 1rem))' },\n '100%': { transform: 'translateY(0)' },\n },\n 'toast-swipe-out': {\n '0%': {\n transform: 'translateX(var(--radix-toast-swipe-end-x))',\n },\n '100%': {\n transform: 'translateX(calc(100% + 1rem))',\n },\n },\n\n // Accordion\n 'slide-down': {\n from: { height: '0px' },\n to: { height: 'var(--radix-accordion-content-height)' },\n },\n 'slide-up': {\n from: { height: 'var(--radix-accordion-content-height)' },\n to: { height: '0px' },\n },\n\n // Shimmer\n 'shimmer-loop': {\n '100%': {\n transform: 'translateX(100%)',\n },\n },\n\n // HALO\n 'halo-pulse': {\n '0%': {\n opacity: 0.3,\n },\n '5%': {\n opacity: 1,\n },\n '100%': {\n opacity: 0.3,\n },\n },\n\n // Progress\n 'progress-indeterminate': {\n '0%': {\n left: 0,\n width: '0%',\n },\n '25%': {\n left: '25%',\n width: '50%',\n },\n '75%': {\n left: '50%',\n width: '100%',\n },\n '100%': {\n left: '100%',\n width: '0%',\n },\n },\n\n // Border trail effect\n 'trail': {\n to: { 'offset-distance': '100%' },\n },\n 'trail-offset': {\n '0%': { 'offset-distance': '50%' },\n '100%': { 'offset-distance': '150%' },\n },\n },\n animation: {\n // Fade\n 'fade-in': 'fade-in 200ms ease-out',\n 'fade-out': 'fade-out 400ms ease-out',\n\n // Popper chrome\n 'slide-down-and-fade': 'slide-down-and-fade 400ms cubic-bezier(0.16, 1, 0.3, 1)',\n 'slide-left-and-fade': 'slide-left-and-fade 400ms cubic-bezier(0.16, 1, 0.3, 1)',\n 'slide-up-and-fade': 'slide-up-and-fade 400ms cubic-bezier(0.16, 1, 0.3, 1)',\n 'slide-right-and-fade': 'slide-right-and-fade 400ms cubic-bezier(0.16, 1, 0.3, 1)',\n\n // Toast\n 'toast-hide': 'toast-hide 100ms ease-in forwards',\n 'toast-slide-in-right': 'toast-slide-in-right 150ms cubic-bezier(0.16, 1, 0.3, 1)',\n 'toast-slide-in-bottom': 'toast-slide-in-bottom 150ms cubic-bezier(0.16, 1, 0.3, 1)',\n 'toast-swipe-out': 'toast-swipe-out 100ms ease-out forwards',\n\n // Accordion\n 'slide-down': 'slide-down 300ms cubic-bezier(0.87, 0, 0.13, 1)',\n 'slide-up': 'slide-up 300ms cubic-bezier(0.87, 0, 0.13, 1)',\n\n // Border trail effect\n 'trail': 'trail 6s linear infinite',\n 'trail-offset': 'trail-offset 6s linear infinite',\n\n // Progress effects\n 'spin': 'spin 1.5s linear infinite',\n 'spin-slow': 'spin 3s linear infinite',\n 'shimmer': 'shimmer-loop 2s infinite',\n 'halo-pulse': 'halo-pulse 2s ease-out infinite',\n 'progress-indeterminate': 'progress-indeterminate 2s ease-out infinite',\n 'progress-linear': 'progress-linear 2s ease-out infinite',\n },\n },\n extendTokens,\n ...extensions,\n ),\n ...overrideTokens,\n colors: {\n ...overrideTokens.colors,\n inherit: 'inherit',\n current: 'currentColor',\n transparent: 'transparent',\n black: 'black',\n white: 'white',\n },\n },\n plugins: [\n tailwindcssContainerQueries,\n tailwindcssForms,\n tailwindcssLogical,\n tailwindcssRadix(),\n // https://adoxography.github.io/tailwind-scrollbar/utilities\n tailwindScrollbar({\n nocompatible: true,\n preferredStrategy: 'pseudoelements',\n }),\n ],\n ...(env === 'development' && { mode: 'jit' }),\n content,\n future: {\n hoverOnlyWhenSupported: true,\n },\n});\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { type TailwindAdapterConfig } from '@ch-ui/tailwind-tokens';\nimport adapter from '@ch-ui/tailwind-tokens';\nimport { type TokenSet } from '@ch-ui/tokens';\n\nimport { aliasColors } from './alias-colors';\nimport { lengthsFacet, maxSizesFacet } from './lengths';\nimport { huePalettes, physicalColors } from './physical-colors';\nimport { semanticColors } from './semantic-colors';\nimport { systemAliases, systemSememes } from './sememes-system';\n\nexport * from './sizes';\n\nexport const hues = Object.keys(huePalettes);\n\nexport const tokenSet = {\n colors: {\n physical: physicalColors,\n semantic: semanticColors,\n alias: aliasColors,\n },\n lengths: lengthsFacet,\n maxSizes: maxSizesFacet,\n} satisfies TokenSet;\n\nconst adapterConfig: TailwindAdapterConfig = {\n colors: {\n facet: 'colors',\n disposition: 'overwrite',\n tokenization: 'recursive',\n },\n borderWidth: {\n facet: 'lengths',\n disposition: 'extend',\n tokenization: 'omit-series',\n },\n ringWidth: {\n facet: 'lengths',\n disposition: 'extend',\n tokenization: 'omit-series',\n },\n ringOffsetWidth: {\n facet: 'lengths',\n disposition: 'extend',\n tokenization: 'omit-series',\n },\n outlineWidth: {\n facet: 'lengths',\n disposition: 'extend',\n tokenization: 'omit-series',\n },\n spacing: {\n facet: 'lengths',\n disposition: 'extend',\n tokenization: 'keep-series',\n },\n};\n\nexport const userDefaultTokenSet = {\n colors: {\n physical: {\n definitions: {\n series: {\n neutral: physicalColors.definitions!.series!.neutral,\n primary: physicalColors.definitions!.series!.primary,\n },\n accompanyingSeries: physicalColors.definitions!.accompanyingSeries,\n },\n conditions: physicalColors.conditions,\n series: {\n neutral: physicalColors.series.neutral,\n primary: physicalColors.series.primary,\n },\n namespace: physicalColors.namespace,\n },\n semantic: {\n conditions: semanticColors.conditions,\n sememes: systemSememes,\n namespace: semanticColors.namespace,\n },\n alias: {\n conditions: aliasColors.conditions,\n aliases: systemAliases,\n namespace: aliasColors.namespace,\n },\n },\n} satisfies TokenSet;\n\nexport const tokensTailwindConfig = adapter(tokenSet, adapterConfig);\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport type { AccompanyingSeries, ColorsPhysicalLayer, Gamut, HelicalArcSeries, PhysicalSeries } from '@ch-ui/tokens';\n\nimport { type PhysicalPalette } from './types';\n\nconst reflectiveRelation = {\n initial: 1_000,\n slope: -1_000,\n method: 'floor',\n} satisfies AccompanyingSeries;\n\nconst gamuts: (Gamut & string)[] = ['srgb', 'p3', 'rec2020'];\n\nconst DEG_RAD = Math.PI / 180;\n\n/**\n * Creates a color palette configuration for a given hue value.\n *\n * @param hue - A number from 0-16 representing different hue angles\n * @returns A PhysicalPalette configuration with:\n * - keyPoint: [lightness, chroma, hue] in LCH color space\n * - lightness: Fixed at 0.5 (50%)\n * - chroma: Varies sinusoidally around 0.13 based on hue angle\n * - hue: Calculated by mapping input 0-16 to 26-386 degrees\n * - Control points and torsion for color interpolation\n */\nconst hueKeyPoint = (hue: number): PhysicalPalette => {\n const hueDeg = (360 * (hue / 17) + 26) % 360;\n return {\n keyPoint: [0.5, 0.13 + 0.024 * Math.sin((hueDeg - 15) * DEG_RAD), hueDeg],\n lowerCp: 1,\n upperCp: 1,\n torsion: 0,\n };\n};\n\nexport const huePalettes = {\n red: hueKeyPoint(0),\n orange: hueKeyPoint(1),\n amber: hueKeyPoint(2),\n yellow: hueKeyPoint(3),\n lime: hueKeyPoint(4),\n green: hueKeyPoint(5),\n emerald: hueKeyPoint(6),\n teal: hueKeyPoint(7),\n cyan: hueKeyPoint(8),\n sky: hueKeyPoint(9),\n blue: hueKeyPoint(10),\n indigo: hueKeyPoint(11),\n violet: hueKeyPoint(12),\n purple: hueKeyPoint(13),\n fuchsia: hueKeyPoint(14),\n pink: hueKeyPoint(15),\n rose: hueKeyPoint(16),\n};\n\n/**\n * The keyPoint represents the LCH value:\n * - Lightness: 0-1, should usually set the keyPoint at or near 0.5\n * - Chroma: min 0, max 0.08–0.5 depending on hue and gamut, theme will clamp final value to within gamut’s range\n * - Hue: 0-360 (~26 “red”, ~141 “green”, ~262 “blue”)\n *\n * NOTE: Rebuild the theme and restart the dev server to see changes.\n *\n * Theme references:\n * https://oklch.com\n * https://colorsublime.github.io\n * https://github.com/microsoft/vscode-docs/blob/main/api/extension-guides/color-theme.md#create-a-new-color-theme\n * https://raw.githubusercontent.com/microsoft/vscode/main/src/vs/workbench/services/themes/common/colorThemeSchema.ts\n * https://tailwindcss.com/docs/colors\n */\nconst systemPalettes = {\n neutral: {\n keyPoint: [0.5, 0.001, 260],\n lowerCp: 0,\n upperCp: 0,\n torsion: 0,\n // Values used directly.\n // TODO(burdon): Audit.\n values: [25, 50, 75, 100, 150, 200, 250, 300, 400, 500, 600, 700, 750, 800, 850, 900],\n } satisfies PhysicalPalette,\n\n // https://oklch.com/#0.5,0.2,260,100 (#0559d2)\n primary: {\n keyPoint: [0.5, 0.2, 260],\n lowerCp: 0.86,\n upperCp: 1,\n torsion: -30,\n // Values used directly.\n // TODO(burdon): Audit.\n values: [100, 150, 200, 350, 400, 450, 500, 750, 800, 850],\n } satisfies PhysicalPalette,\n};\n\nconst physicalSeries = {\n ...huePalettes,\n ...systemPalettes,\n};\n\nexport const physicalColors: ColorsPhysicalLayer = {\n namespace: 'dx-',\n definitions: {\n // @ts-ignore\n series: physicalSeries,\n accompanyingSeries: { reflectiveRelation },\n },\n conditions: {\n srgb: [':root, .dark'],\n p3: ['@media (color-gamut: p3)', ':root, .dark'],\n rec2020: ['@media (color-gamut: rec2020)', ':root, .dark'],\n },\n series: Object.entries(physicalSeries).reduce((acc: ColorsPhysicalLayer['series'], [id]) => {\n acc[id] = gamuts.reduce((acc: PhysicalSeries<Gamut & string, HelicalArcSeries>, gamut) => {\n acc[gamut] = {\n extends: id,\n physicalValueRelation: { extends: 'reflectiveRelation' },\n };\n return acc;\n }, {});\n return acc;\n }, {}),\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { huePalettes } from './physical-colors';\nimport { type ColorAliases, type ColorSememes } from './types';\n\nexport const hueSememes: ColorSememes = [...Object.keys(huePalettes), 'neutral', 'primary'].reduce(\n (acc: ColorSememes, palette) => {\n acc[`${palette}Cursor`] = {\n light: [palette, 400],\n dark: [palette, 300],\n };\n acc[`${palette}Text`] = {\n light: [palette, 550],\n dark: [palette, 300],\n };\n acc[`${palette}Fill`] = {\n light: [palette, 500],\n dark: [palette, 500],\n };\n acc[`${palette}Surface`] = {\n light: [palette, 200],\n dark: [palette, 700],\n };\n acc[`${palette}SurfaceText`] = {\n light: [palette, 700],\n dark: [palette, 200],\n };\n acc[`${palette}Screen`] = {\n light: [palette, 100],\n dark: [palette, 800],\n };\n return acc;\n },\n {},\n);\n\nconst valenceAliasSememeStems = ['Text', 'Surface', 'SurfaceText', 'Fill', 'Cursor'];\nconst valenceMapping = {\n emerald: ['success'],\n cyan: ['info'],\n amber: ['warning'],\n rose: ['error'],\n primary: ['current'],\n fuchsia: ['internal'],\n};\n\nexport const valenceAliases: ColorAliases = valenceAliasSememeStems.reduce((acc: ColorAliases, stem) => {\n return Object.entries(valenceMapping).reduce((acc: ColorAliases, [hue, valences]) => {\n acc[`${hue}${stem}`] = { root: valences.map((valence) => `${valence}${stem}`) };\n return acc;\n }, acc);\n}, {});\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport type { ColorAliases, ColorSememes } from './types';\n\nexport const sheetSememes = {\n // NOTE: background styles for the main content area must have transparency otherwise they will mask the selection.\n axisSurface: {\n light: ['neutral', 50],\n dark: ['neutral', 800],\n },\n axisText: {\n light: ['neutral', 800],\n dark: ['neutral', 200],\n },\n axisSelectedSurface: {\n light: ['neutral', 100],\n dark: ['neutral', 900],\n },\n axisSelectedText: {\n light: ['neutral', 100],\n dark: ['neutral', 900],\n },\n gridCell: {\n // TODO(thure): Why override only dark?\n light: ['neutral', '50/0'],\n dark: ['neutral', 850],\n },\n gridCellSelected: {\n // TODO(thure): Can this not just use `attention`?\n light: ['neutral', 50],\n dark: ['neutral', 800],\n },\n gridOverlay: {\n light: ['primary', '500/.5'],\n dark: ['primary', '500/.5'],\n },\n gridSelectionOverlay: {\n light: ['primary', '500/.2'],\n dark: ['primary', '500/.2'],\n },\n gridHighlight: {\n light: ['emerald', '500/.5'],\n dark: ['emerald', '500/.5'],\n },\n // TODO(burdon): Factor out def (in common with editor).\n gridCommented: {\n light: ['green', 200],\n dark: ['green', 600],\n },\n gridCommentedActive: {\n light: ['green', '200/.5'],\n dark: ['green', '600/.5'],\n },\n} satisfies ColorSememes;\n\nexport const sheetAliases = {\n activeSurface: { root: ['gridLine'] },\n accentFocusIndicator: { root: ['gridFocusIndicatorColor'] },\n neutralFocusIndicator: { gridFocusStack: ['gridFocusIndicatorColor'] },\n} satisfies ColorAliases;\n", "//\n// Copyright 2024 DXOS.org\n//\n\n// TODO(thure): TS2742\n/* eslint-disable unused-imports/no-unused-imports */\nimport * as _colors from '@ch-ui/colors';\n\nimport { type ColorAliases, type ColorSememes } from './types';\n\n// TODO(burdon): Move to util.\nconst getMapValue = <T>(map: Record<string, T>, key: string, defaultValue: () => T): T => {\n let value = map[key];\n if (!value) {\n value = defaultValue();\n map[key] = value;\n }\n return value;\n};\n\ntype Sememe = ColorSememes[string];\n\nconst applyAlpha = (sememe: Sememe, alpha: number): Sememe => {\n if (alpha >= 1) {\n return sememe;\n } else {\n return {\n light: [sememe.light![0], `${sememe.light![1]}/${alpha}`],\n dark: [sememe.dark![0], `${sememe.dark![1]}/${alpha}`],\n };\n }\n};\n\n// Luminosity extrema and key points.\n\n// Both elevation cadences go from darker to lighter from “elevation” 0 to `ELEVATION_SCALE`,\n// whereas both contrast cadences go from highest contrast at 0 to lowest contrast at `CONTRAST_SCALE`.\n\nconst DARK_ELEVATION_MIN = 855;\nconst DARK_ELEVATION_MAX = 731;\n\nconst DARK_CONTRAST_MIN = 750;\nconst DARK_CONTRAST_MAX = 665;\n\nconst LIGHT_ELEVATION_MIN = 0;\nconst LIGHT_ELEVATION_MAX = 0;\n\nconst LIGHT_CONTRAST_MIN = 82;\nconst LIGHT_CONTRAST_MAX = 24;\n\nconst ELEVATION_SCALE = 2;\nconst CONTRAST_SCALE = 3;\n\nconst darkElevationCadence = (depth: number) =>\n Math.round(\n DARK_ELEVATION_MAX + (DARK_ELEVATION_MIN - DARK_ELEVATION_MAX) * ((ELEVATION_SCALE - depth) / ELEVATION_SCALE),\n );\nconst darkContrastCadence = (depth: number) =>\n Math.round(\n DARK_CONTRAST_MAX + (DARK_CONTRAST_MIN - DARK_CONTRAST_MAX) * ((ELEVATION_SCALE - depth) / ELEVATION_SCALE),\n );\n\nconst lightElevationCadence = (depth: number) =>\n Math.round(\n LIGHT_ELEVATION_MIN + (LIGHT_ELEVATION_MAX - LIGHT_ELEVATION_MIN) * ((CONTRAST_SCALE - depth) / CONTRAST_SCALE),\n );\nconst lightContrastCadence = (depth: number) =>\n Math.round(LIGHT_CONTRAST_MAX + (LIGHT_CONTRAST_MIN - LIGHT_CONTRAST_MAX) * (depth / CONTRAST_SCALE));\n\nconst elevationCadence = (lightDepth: number, darkDepth: number = lightDepth, alpha: number = 1): Sememe =>\n applyAlpha(\n {\n light: ['neutral', lightElevationCadence(lightDepth)],\n dark: ['neutral', darkElevationCadence(darkDepth)],\n },\n alpha,\n );\n\nconst contrastCadence = (lightDepth: number, darkDepth: number = lightDepth, alpha: number = 1): Sememe =>\n applyAlpha(\n {\n light: ['neutral', lightContrastCadence(lightDepth)],\n dark: ['neutral', darkContrastCadence(darkDepth)],\n },\n alpha,\n );\n\nexport const systemSememes = {\n //\n // Elevation cadence tokens\n //\n\n baseSurface: elevationCadence(0),\n groupSurface: elevationCadence(1),\n modalSurface: elevationCadence(2, 1.7),\n\n //\n // Contrast cadence tokens\n //\n\n textInputSurfaceBase: contrastCadence(0, 0),\n textInputSurfaceGroup: contrastCadence(0, 0.5),\n textInputSurfaceModal: contrastCadence(0, 1),\n\n inputSurfaceBase: contrastCadence(0.8, 0.33),\n inputSurfaceGroup: contrastCadence(0.8, 0.66),\n inputSurfaceModal: contrastCadence(0.8, 1),\n\n hoverSurfaceBase: contrastCadence(2, 1.5),\n hoverSurfaceGroup: contrastCadence(2, 2),\n hoverSurfaceModal: contrastCadence(2, 2.5),\n\n separatorBase: contrastCadence(3, 2),\n separatorGroup: contrastCadence(3, 2.5),\n separatorModal: contrastCadence(3, 3),\n\n subduedSeparator: contrastCadence(3, 1),\n\n unAccent: {\n light: ['neutral', 400],\n dark: ['neutral', 400],\n },\n unAccentHover: {\n light: ['neutral', 450],\n dark: ['neutral', 450],\n },\n hoverOverlay: {\n light: ['neutral', '450/.1'],\n dark: ['neutral', '450/.1'],\n },\n\n //\n // Special surfaces.\n //\n\n // Screen overlay for modal dialogs.\n scrimSurface: applyAlpha(\n {\n light: ['neutral', LIGHT_CONTRAST_MAX],\n dark: ['neutral', DARK_ELEVATION_MIN],\n },\n 0.65,\n ),\n\n // High contrast for focused interactive elements. (Technically this is part of the surface cadence, but the contrast cadence is on the opposite side of the elevation cadence as this point.)\n focusSurface: {\n light: ['neutral', 0],\n dark: ['neutral', 1000],\n },\n\n deckSurface: {\n light: ['neutral', 50],\n dark: ['neutral', 950],\n },\n\n // For tooltips only; the highest elevation from the opposite theme\n inverseSurface: {\n light: ['neutral', DARK_ELEVATION_MIN],\n dark: ['neutral', LIGHT_ELEVATION_MIN],\n },\n\n //\n // Accent surfaces\n //\n\n accentSurfaceRelated: {\n light: ['primary', '300/.1'],\n dark: ['primary', '400/.1'],\n },\n accentSurfaceHover: {\n light: ['primary', 600],\n dark: ['primary', 475],\n },\n accentSurface: {\n light: ['primary', 500],\n dark: ['primary', 500],\n },\n\n //\n // Text (text-) and other foregrounds\n // TODO(thure): Establish contrast-order cadence for text.\n //\n\n baseText: {\n light: ['neutral', 1000],\n dark: ['neutral', 50],\n },\n inverseSurfaceText: {\n light: ['neutral', 50],\n dark: ['neutral', 1000],\n },\n description: {\n light: ['neutral', 550],\n dark: ['neutral', 350],\n },\n subdued: {\n light: ['neutral', 700],\n dark: ['neutral', 300],\n },\n placeholder: {\n light: ['neutral', 500],\n dark: ['neutral', 500],\n },\n accentText: {\n light: ['primary', 550],\n dark: ['primary', 400],\n },\n accentSurfaceText: {\n light: ['neutral', 0],\n dark: ['neutral', 0],\n },\n accentTextHover: {\n light: ['primary', 500],\n dark: ['primary', 350],\n },\n accentFocusIndicator: {\n light: ['primary', 300],\n dark: ['primary', 450],\n },\n neutralFocusIndicator: {\n light: ['neutral', 300],\n dark: ['neutral', 550],\n },\n} satisfies ColorSememes;\n\ntype SememeName = keyof typeof systemSememes;\ntype SememeKey = 'root' | 'group' | 'modal';\n\n/**\n * Alias map.\n */\nconst aliasDefs: Record<string, Partial<Record<SememeKey, SememeName>>> = {\n // Selected items, current items, other surfaces needing special contrast against baseSurface.\n activeSurface: {\n root: 'inputSurfaceBase',\n },\n\n // Main sidebar panel.\n sidebarSurface: {\n root: 'groupSurface',\n },\n\n // Plank header.\n headerSurface: {\n root: 'groupSurface',\n },\n\n // Toolbars, table/sheet headers, etc.\n toolbarSurface: {\n root: 'groupSurface',\n },\n\n // Forms, cards, etc.\n cardSurface: {\n root: 'groupSurface',\n },\n\n // Secondary aliases.\n textInputSurface: {\n root: 'textInputSurfaceBase',\n group: 'textInputSurfaceGroup',\n modal: 'textInputSurfaceModal',\n },\n inputSurface: {\n root: 'inputSurfaceBase',\n group: 'inputSurfaceGroup',\n modal: 'inputSurfaceModal',\n },\n hoverSurface: {\n root: 'hoverSurfaceBase',\n group: 'hoverSurfaceGroup',\n modal: 'hoverSurfaceModal',\n },\n\n // TODO(thure): Rename uses of this token to `focusSurface` and remove this alias.\n attention: {\n root: 'focusSurface',\n },\n\n // In “master-detail” patterns, the background of the item in the list which is enumerated in the adjacent view.\n // TODO(burdon): Review tokens.\n currentRelated: {\n root: 'modalSurface',\n },\n\n // Borders and dividers.\n separator: {\n root: 'separatorBase',\n group: 'separatorGroup',\n modal: 'separatorModal',\n },\n};\n\nexport const systemAliases: ColorAliases = Object.entries(aliasDefs).reduce((aliases, [alias, values]) => {\n Object.entries(values).forEach(([key, sememe]) => {\n const record = getMapValue(aliases, sememe, () => ({}));\n const list = getMapValue<string[]>(record, key, () => []);\n list.push(alias);\n });\n\n return aliases;\n}, {} as ColorAliases);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type AliasLayer } from '@ch-ui/tokens';\n\nimport { valenceAliases } from './sememes-hue';\nimport { sheetAliases } from './sememes-sheet';\nimport { systemAliases } from './sememes-system';\n\nconst groupAliases = ['groupSurface', ...(systemAliases.groupSurface?.root ?? [])];\nconst modalAliases = ['modalSurface', ...(systemAliases.modalSurface?.root ?? [])];\n\nexport const aliasColors = {\n conditions: {\n root: [':root, .dark'],\n group: [\n [\n '.sidebar-surface, .dark .sidebar-surface',\n ...groupAliases.map((alias) => `.bg-${alias}, .dark .bg-${alias}`),\n ].join(', '),\n ],\n modal: [\n [\n '.modal-surface, .dark .modal-surface',\n ...modalAliases.map((alias) => `.bg-${alias}, .dark .bg-${alias}`),\n //\n ].join(', '),\n ],\n gridFocusStack: ['[data-grid-focus-indicator-variant=\"stack\"]'],\n },\n aliases: {\n // TODO(thure): Aliases should be merged more elegantly, this causes overwrites.\n ...sheetAliases,\n ...systemAliases,\n ...valenceAliases,\n },\n namespace: 'dx-',\n} satisfies AliasLayer<string>;\n", "//\n// Copyright 2025 DXOS.org\n//\n\n/**\n * Cards should be no larger than 320px per WCAG 2.1 SC 1.4.10.\n */\nexport const cardMinInlineSize = 18;\nexport const cardDefaultInlineSize = 20; // 320px\nexport const cardMaxInlineSize = 22;\n", "//\n\n// Copyright 2025 DXOS.org\n//\n\nimport { type Facet, type LinearPhysicalLayer } from '@ch-ui/tokens';\n\nimport { cardDefaultInlineSize, cardMaxInlineSize, cardMinInlineSize } from './sizes';\n\nexport const lengthsFacet = {\n physical: {\n namespace: 'dx-',\n conditions: { root: [':root'] },\n series: {\n line: {\n root: {\n unit: 'px',\n initial: 0,\n slope: 1,\n },\n },\n // \"gap\"\n lacuna: {\n root: {\n unit: 'rem',\n initial: 0,\n slope: 0.125,\n },\n },\n },\n } satisfies LinearPhysicalLayer,\n\n semantic: {\n namespace: 'dx-',\n conditions: { root: [':root'] },\n sememes: {\n noLine: { root: ['line', 0] },\n hairLine: { root: ['line', 1] },\n thickLine: { root: ['line', 2] },\n trimXs: { root: ['lacuna', 3] },\n trimSm: { root: ['lacuna', 4] },\n trimMd: { root: ['lacuna', 6] },\n trimLg: { root: ['lacuna', 12] },\n inputFine: { root: ['lacuna', 3] },\n inputCoarse: { root: ['lacuna', 4] },\n },\n },\n\n alias: {\n namespace: 'dx-',\n conditions: {\n fine: [':root, .density-fine'],\n coarse: ['.density-coarse'],\n flush: ['.density-flush'],\n gridFocusStack: ['[data-grid-focus-indicator-variant=\"stack\"]'],\n },\n aliases: {\n noLine: { fine: ['focusOffset'] },\n hairLine: { fine: ['modalLine', 'landmarkLine', 'positionedLine', 'gridGap', 'gridFocusIndicatorWidth'] },\n thickLine: { fine: ['focusLine'], gridFocusStack: ['gridFocusIndicatorWidth'] },\n trimXs: { fine: ['cardSpacingChrome', 'labelSpacingBlock', 'inputSpacingBlock'] }, // TODO(burdon): Remove need for this.\n trimSm: { fine: ['cardSpacingInline', 'cardSpacingBlock', 'cardSpacingGap'] },\n trimMd: { coarse: ['cardSpacingInline', 'cardSpacingBlock', 'cardSpacingGap'] },\n inputFine: { fine: ['iconButtonPadding'] },\n inputCoarse: { coarse: ['iconButtonPadding'] },\n },\n },\n} satisfies Facet;\n\nexport const maxSizesFacet = {\n physical: {\n namespace: 'dx-',\n conditions: { root: [':root'] },\n series: {\n size: {\n root: {\n unit: 'rem',\n initial: 0,\n slope: 1,\n },\n },\n },\n } satisfies LinearPhysicalLayer,\n\n semantic: {\n namespace: 'dx-',\n conditions: { root: [':root'] },\n sememes: {\n 'prose-max-width': { root: ['size', 50] },\n 'container-max-width': { root: ['size', 50] },\n 'popover-max-width': { root: ['size', cardDefaultInlineSize] },\n 'card-default-width': { root: ['size', cardDefaultInlineSize] },\n 'card-min-width': { root: ['size', cardMinInlineSize] },\n 'card-max-width': { root: ['size', cardMaxInlineSize] },\n },\n },\n} satisfies Facet;\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { type ColorSememes } from './types';\n\n// TODO(burdon): This should be broader than just calls.\nexport const callsSememes: ColorSememes = {\n callActive: {\n light: ['green', '500'],\n dark: ['green', '500'],\n },\n callAlert: {\n light: ['rose', '500'],\n dark: ['rose', '500'],\n },\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { type ColorSememes } from './types';\n\nexport const codemirrorSememes = {\n // NOTE: background styles for the main content area must have transparency otherwise they will mask the selection.\n cmCodeblock: {\n light: ['neutral', '500/.1'],\n dark: ['neutral', '500/.1'],\n },\n cmActiveLine: {\n light: ['neutral', '200/.5'],\n dark: ['neutral', '800/.5'],\n },\n cmSeparator: {\n light: ['primary', 500],\n dark: ['primary', 500],\n },\n cmCursor: {\n light: ['neutral', 900],\n dark: ['neutral', 100],\n },\n cmSelection: {\n light: ['primary', '400/.5'],\n dark: ['primary', '600/.5'],\n },\n cmFocusedSelection: {\n light: ['primary', 400],\n dark: ['primary', 600],\n },\n cmHighlight: {\n light: ['neutral', 950],\n dark: ['neutral', 50],\n },\n cmHighlightSurface: {\n light: ['sky', 200],\n dark: ['cyan', 600],\n },\n // TODO(burdon): Factor out defs in common with sheet.\n cmCommentText: {\n light: ['neutral', 50],\n dark: ['neutral', 950],\n },\n cmCommentSurface: {\n light: ['amber', 700],\n dark: ['amber', 200],\n },\n} satisfies ColorSememes;\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport type { HelicalArcValue, SemanticLayer } from '@ch-ui/tokens';\n\nimport { callsSememes } from './sememes-calls';\nimport { codemirrorSememes } from './sememes-codemirror';\nimport { hueSememes } from './sememes-hue';\nimport { sheetSememes } from './sememes-sheet';\nimport { systemSememes } from './sememes-system';\n\nexport const semanticColors = {\n conditions: {\n light: [':root'],\n dark: ['.dark'],\n },\n sememes: {\n // Define each set of sememes in its own file.\n ...callsSememes,\n ...codemirrorSememes,\n ...hueSememes,\n ...sheetSememes,\n ...systemSememes,\n },\n namespace: 'dx-',\n} satisfies SemanticLayer<string, string, HelicalArcValue>;\n"],
5
- "mappings": "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",
6
- "names": ["reflectiveRelation", "initial", "slope", "method", "gamuts", "DEG_RAD", "Math", "PI", "hueKeyPoint", "hue", "hueDeg", "keyPoint", "sin", "lowerCp", "upperCp", "torsion", "huePalettes", "red", "orange", "amber", "yellow", "lime", "green", "emerald", "teal", "cyan", "sky", "blue", "indigo", "violet", "purple", "fuchsia", "pink", "rose", "systemPalettes", "neutral", "values", "primary", "physicalSeries", "physicalColors", "namespace", "definitions", "series", "accompanyingSeries", "conditions", "srgb", "p3", "rec2020", "Object", "entries", "reduce", "acc", "id", "gamut", "extends", "physicalValueRelation", "hueSememes", "keys", "palette", "light", "dark", "valenceAliasSememeStems", "valenceMapping", "valenceAliases", "stem", "valences", "root", "map", "valence", "sheetSememes", "axisSurface", "axisText", "axisSelectedSurface", "axisSelectedText", "gridCell", "gridCellSelected", "gridOverlay", "gridSelectionOverlay", "gridHighlight", "gridCommented", "gridCommentedActive", "sheetAliases", "activeSurface", "accentFocusIndicator", "neutralFocusIndicator", "gridFocusStack", "getMapValue", "key", "defaultValue", "value", "applyAlpha", "sememe", "alpha", "DARK_ELEVATION_MIN", "DARK_ELEVATION_MAX", "DARK_CONTRAST_MIN", "DARK_CONTRAST_MAX", "LIGHT_ELEVATION_MIN", "LIGHT_ELEVATION_MAX", "LIGHT_CONTRAST_MIN", "LIGHT_CONTRAST_MAX", "ELEVATION_SCALE", "CONTRAST_SCALE", "darkElevationCadence", "depth", "round", "darkContrastCadence", "lightElevationCadence", "lightContrastCadence", "elevationCadence", "lightDepth", "darkDepth", "contrastCadence", "systemSememes", "baseSurface", "groupSurface", "modalSurface", "textInputSurfaceBase", "textInputSurfaceGroup", "textInputSurfaceModal", "inputSurfaceBase", "inputSurfaceGroup", "inputSurfaceModal", "hoverSurfaceBase", "hoverSurfaceGroup", "hoverSurfaceModal", "separatorBase", "separatorGroup", "separatorModal", "subduedSeparator", "unAccent", "unAccentHover", "hoverOverlay", "scrimSurface", "focusSurface", "deckSurface", "inverseSurface", "accentSurfaceRelated", "accentSurfaceHover", "accentSurface", "baseText", "inverseSurfaceText", "description", "subdued", "placeholder", "accentText", "accentSurfaceText", "accentTextHover", "aliasDefs", "sidebarSurface", "headerSurface", "toolbarSurface", "cardSurface", "textInputSurface", "group", "modal", "inputSurface", "hoverSurface", "attention", "currentRelated", "separator", "systemAliases", "aliases", "alias", "forEach", "record", "list", "push", "groupAliases", "modalAliases", "aliasColors", "join", "cardMinInlineSize", "cardDefaultInlineSize", "cardMaxInlineSize", "lengthsFacet", "physical", "line", "unit", "lacuna", "semantic", "sememes", "noLine", "hairLine", "thickLine", "trimXs", "trimSm", "trimMd", "trimLg", "inputFine", "inputCoarse", "fine", "coarse", "flush", "maxSizesFacet", "size", "callsSememes", "callActive", "callAlert", "codemirrorSememes", "cmCodeblock", "cmActiveLine", "cmSeparator", "cmCursor", "cmSelection", "cmFocusedSelection", "cmHighlight", "cmHighlightSurface", "cmCommentText", "cmCommentSurface", "semanticColors", "hues", "tokenSet", "colors", "lengths", "maxSizes", "adapterConfig", "facet", "disposition", "tokenization", "borderWidth", "ringWidth", "ringOffsetWidth", "outlineWidth", "spacing", "userDefaultTokenSet", "tokensTailwindConfig", "adapter", "extend", "extendTokens", "overrideTokens", "tailwindConfig", "env", "content", "extensions", "darkMode", "theme", "fontFamily", "body", "defaultConfig", "sans", "mono", "merge", "backgroundImage", "borderRadius", "none", "sm", "DEFAULT", "md", "lg", "screens", "raw", "fontSize", "lineHeight", "boxShadow", "transitionProperty", "transitionTimingFunction", "keyframes", "from", "opacity", "to", "transform", "height", "left", "width", "animation", "inherit", "current", "transparent", "black", "white", "plugins", "tailwindcssContainerQueries", "tailwindcssForms", "tailwindcssLogical", "tailwindcssRadix", "tailwindScrollbar", "nocompatible", "preferredStrategy", "mode", "future", "hoverOnlyWhenSupported"]
7
- }