@dxos/ui-theme 0.0.0 → 0.8.4-main.16b68245aa

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 (257) hide show
  1. package/dist/lib/browser/index.mjs +1372 -0
  2. package/dist/lib/browser/index.mjs.map +7 -0
  3. package/dist/lib/browser/meta.json +1 -0
  4. package/dist/lib/node-esm/index.mjs +1374 -0
  5. package/dist/lib/node-esm/index.mjs.map +7 -0
  6. package/dist/lib/node-esm/meta.json +1 -0
  7. package/dist/plugin/node-cjs/main.css +1564 -0
  8. package/dist/plugin/node-cjs/main.css.map +7 -0
  9. package/dist/plugin/node-cjs/meta.json +1 -0
  10. package/dist/plugin/node-cjs/plugins/ThemePlugin.cjs +137 -0
  11. package/dist/plugin/node-cjs/plugins/ThemePlugin.cjs.map +7 -0
  12. package/dist/plugin/node-esm/main.css +1564 -0
  13. package/dist/plugin/node-esm/main.css.map +7 -0
  14. package/dist/plugin/node-esm/meta.json +1 -0
  15. package/dist/plugin/node-esm/plugins/ThemePlugin.mjs +105 -0
  16. package/dist/plugin/node-esm/plugins/ThemePlugin.mjs.map +7 -0
  17. package/dist/types/src/Theme.stories.d.ts +27 -0
  18. package/dist/types/src/Theme.stories.d.ts.map +1 -0
  19. package/dist/types/src/defs.d.ts +21 -0
  20. package/dist/types/src/defs.d.ts.map +1 -0
  21. package/dist/types/src/fragments/density.d.ts +4 -0
  22. package/dist/types/src/fragments/density.d.ts.map +1 -0
  23. package/dist/types/src/fragments/disabled.d.ts +3 -0
  24. package/dist/types/src/fragments/disabled.d.ts.map +1 -0
  25. package/dist/types/src/fragments/hover.d.ts +10 -0
  26. package/dist/types/src/fragments/hover.d.ts.map +1 -0
  27. package/dist/types/src/fragments/index.d.ts +5 -0
  28. package/dist/types/src/fragments/index.d.ts.map +1 -0
  29. package/dist/types/src/fragments/text.d.ts +2 -0
  30. package/dist/types/src/fragments/text.d.ts.map +1 -0
  31. package/dist/types/src/index.d.ts +5 -0
  32. package/dist/types/src/index.d.ts.map +1 -0
  33. package/dist/types/src/plugins/ThemePlugin.d.ts +16 -0
  34. package/dist/types/src/plugins/ThemePlugin.d.ts.map +1 -0
  35. package/dist/types/src/plugins/dark-mode.d.ts +1 -0
  36. package/dist/types/src/plugins/dark-mode.d.ts.map +1 -0
  37. package/dist/types/src/theme/components/avatar.d.ts +21 -0
  38. package/dist/types/src/theme/components/avatar.d.ts.map +1 -0
  39. package/dist/types/src/theme/components/breadcrumb.d.ts +9 -0
  40. package/dist/types/src/theme/components/breadcrumb.d.ts.map +1 -0
  41. package/dist/types/src/theme/components/button.d.ts +15 -0
  42. package/dist/types/src/theme/components/button.d.ts.map +1 -0
  43. package/dist/types/src/theme/components/card.d.ts +12 -0
  44. package/dist/types/src/theme/components/card.d.ts.map +1 -0
  45. package/dist/types/src/theme/components/dialog.d.ts +17 -0
  46. package/dist/types/src/theme/components/dialog.d.ts.map +1 -0
  47. package/dist/types/src/theme/components/focus.d.ts +6 -0
  48. package/dist/types/src/theme/components/focus.d.ts.map +1 -0
  49. package/dist/types/src/theme/components/icon-button.d.ts +9 -0
  50. package/dist/types/src/theme/components/icon-button.d.ts.map +1 -0
  51. package/dist/types/src/theme/components/icon.d.ts +10 -0
  52. package/dist/types/src/theme/components/icon.d.ts.map +1 -0
  53. package/dist/types/src/theme/components/index.d.ts +27 -0
  54. package/dist/types/src/theme/components/index.d.ts.map +1 -0
  55. package/dist/types/src/theme/components/input.d.ts +115 -0
  56. package/dist/types/src/theme/components/input.d.ts.map +1 -0
  57. package/dist/types/src/theme/components/link.d.ts +7 -0
  58. package/dist/types/src/theme/components/link.d.ts.map +1 -0
  59. package/dist/types/src/theme/components/list.d.ts +14 -0
  60. package/dist/types/src/theme/components/list.d.ts.map +1 -0
  61. package/dist/types/src/theme/components/main.d.ts +28 -0
  62. package/dist/types/src/theme/components/main.d.ts.map +1 -0
  63. package/dist/types/src/theme/components/menu.d.ts +13 -0
  64. package/dist/types/src/theme/components/menu.d.ts.map +1 -0
  65. package/dist/types/src/theme/components/message.d.ts +12 -0
  66. package/dist/types/src/theme/components/message.d.ts.map +1 -0
  67. package/dist/types/src/theme/components/popover.d.ts +11 -0
  68. package/dist/types/src/theme/components/popover.d.ts.map +1 -0
  69. package/dist/types/src/theme/components/scroll-area.d.ts +32 -0
  70. package/dist/types/src/theme/components/scroll-area.d.ts.map +1 -0
  71. package/dist/types/src/theme/components/select.d.ts +13 -0
  72. package/dist/types/src/theme/components/select.d.ts.map +1 -0
  73. package/dist/types/src/theme/components/separator.d.ts +8 -0
  74. package/dist/types/src/theme/components/separator.d.ts.map +1 -0
  75. package/dist/types/src/theme/components/skeleton.d.ts +7 -0
  76. package/dist/types/src/theme/components/skeleton.d.ts.map +1 -0
  77. package/dist/types/src/theme/components/splitter.d.ts +4 -0
  78. package/dist/types/src/theme/components/splitter.d.ts.map +1 -0
  79. package/dist/types/src/theme/components/status.d.ts +9 -0
  80. package/dist/types/src/theme/components/status.d.ts.map +1 -0
  81. package/dist/types/src/theme/components/tag.d.ts +7 -0
  82. package/dist/types/src/theme/components/tag.d.ts.map +1 -0
  83. package/dist/types/src/theme/components/toast.d.ts +12 -0
  84. package/dist/types/src/theme/components/toast.d.ts.map +1 -0
  85. package/dist/types/src/theme/components/toolbar.d.ts +11 -0
  86. package/dist/types/src/theme/components/toolbar.d.ts.map +1 -0
  87. package/dist/types/src/theme/components/tooltip.d.ts +8 -0
  88. package/dist/types/src/theme/components/tooltip.d.ts.map +1 -0
  89. package/dist/types/src/theme/components/treegrid.d.ts +10 -0
  90. package/dist/types/src/theme/components/treegrid.d.ts.map +1 -0
  91. package/dist/types/src/theme/index.d.ts +4 -0
  92. package/dist/types/src/theme/index.d.ts.map +1 -0
  93. package/dist/types/src/theme/primitives/column.d.ts +29 -0
  94. package/dist/types/src/theme/primitives/column.d.ts.map +1 -0
  95. package/dist/types/src/theme/primitives/index.d.ts +3 -0
  96. package/dist/types/src/theme/primitives/index.d.ts.map +1 -0
  97. package/dist/types/src/theme/primitives/panel.d.ts +13 -0
  98. package/dist/types/src/theme/primitives/panel.d.ts.map +1 -0
  99. package/dist/types/src/theme/theme.d.ts +5 -0
  100. package/dist/types/src/theme/theme.d.ts.map +1 -0
  101. package/dist/types/src/util/elevation.d.ts +9 -0
  102. package/dist/types/src/util/elevation.d.ts.map +1 -0
  103. package/dist/types/src/util/hash-styles.d.ts +18 -0
  104. package/dist/types/src/util/hash-styles.d.ts.map +1 -0
  105. package/dist/types/src/util/index.d.ts +6 -0
  106. package/dist/types/src/util/index.d.ts.map +1 -0
  107. package/dist/types/src/util/mx.d.ts +58 -0
  108. package/dist/types/src/util/mx.d.ts.map +1 -0
  109. package/dist/types/src/util/size.d.ts +27 -0
  110. package/dist/types/src/util/size.d.ts.map +1 -0
  111. package/dist/types/src/util/valence.d.ts +4 -0
  112. package/dist/types/src/util/valence.d.ts.map +1 -0
  113. package/dist/types/tsconfig.tsbuildinfo +1 -0
  114. package/package.json +30 -36
  115. package/src/Theme.stories.tsx +224 -0
  116. package/src/css/base/base.css +43 -0
  117. package/src/{styles/layers → css/base}/typography.css +21 -3
  118. package/src/{styles/layers → css/components}/button.css +23 -14
  119. package/src/{styles/layers → css/components}/checkbox.css +12 -8
  120. package/src/css/components/dialog.css +78 -0
  121. package/src/{styles/layers/focus-ring.css → css/components/focus.css} +60 -41
  122. package/src/css/components/icon.css +9 -0
  123. package/src/css/components/link.css +9 -0
  124. package/src/css/components/panel.css +117 -0
  125. package/src/css/components/scrollbar.css +24 -0
  126. package/src/css/components/selected.css +35 -0
  127. package/src/css/components/selected.md +101 -0
  128. package/src/css/components/surface.css +34 -0
  129. package/src/css/components/tag.css +132 -0
  130. package/src/css/components/text.css +124 -0
  131. package/src/css/integrations/codemirror.css +34 -0
  132. package/src/css/integrations/tldraw.css +14 -0
  133. package/src/css/layout/main.css +205 -0
  134. package/src/{styles/layers → css/layout}/native.css +6 -4
  135. package/src/css/layout/positioning.css +19 -0
  136. package/src/{styles/layers → css/layout}/size.css +130 -102
  137. package/src/css/theme/animation.css +260 -0
  138. package/src/css/theme/border.css +23 -0
  139. package/src/css/theme/palette.css +36 -0
  140. package/src/css/theme/semantic.css +116 -0
  141. package/src/css/theme/spacing.css +147 -0
  142. package/src/css/theme/styles.css +145 -0
  143. package/src/css/theme/text.css +37 -0
  144. package/src/css/utilities.css +118 -0
  145. package/src/defs.ts +48 -0
  146. package/src/fragments/AUDIT.md +57 -0
  147. package/src/fragments/density.ts +16 -0
  148. package/src/fragments/hover.ts +18 -0
  149. package/src/fragments/index.ts +10 -0
  150. package/src/fragments/text.ts +6 -0
  151. package/src/index.ts +3 -14
  152. package/src/main.css +121 -0
  153. package/src/plugins/ThemePlugin.ts +125 -0
  154. package/src/plugins/dark-mode.ts +22 -0
  155. package/src/plugins/main.css +45 -0
  156. package/src/{styles → theme}/components/avatar.ts +12 -13
  157. package/src/theme/components/button.ts +48 -0
  158. package/src/theme/components/card.ts +102 -0
  159. package/src/theme/components/dialog.ts +61 -0
  160. package/src/theme/components/focus.ts +33 -0
  161. package/src/{styles → theme}/components/icon-button.ts +6 -5
  162. package/src/theme/components/icon.ts +28 -0
  163. package/src/{styles → theme}/components/index.ts +4 -1
  164. package/src/theme/components/input.ts +171 -0
  165. package/src/{styles → theme}/components/link.ts +3 -4
  166. package/src/{styles → theme}/components/list.ts +5 -5
  167. package/src/{styles → theme}/components/main.ts +9 -11
  168. package/src/{styles → theme}/components/menu.ts +11 -21
  169. package/src/{styles → theme}/components/message.ts +11 -7
  170. package/src/{styles → theme}/components/popover.ts +13 -12
  171. package/src/theme/components/scroll-area.ts +115 -0
  172. package/src/{styles → theme}/components/select.ts +8 -16
  173. package/src/{styles → theme}/components/separator.ts +3 -3
  174. package/src/theme/components/skeleton.ts +23 -0
  175. package/src/theme/components/splitter.ts +20 -0
  176. package/src/{styles → theme}/components/status.ts +7 -7
  177. package/src/{styles → theme}/components/tag.ts +1 -1
  178. package/src/{styles → theme}/components/toast.ts +6 -8
  179. package/src/theme/components/toolbar.ts +35 -0
  180. package/src/{styles → theme}/components/tooltip.ts +4 -6
  181. package/src/{styles → theme}/components/treegrid.ts +9 -9
  182. package/src/{styles → theme}/index.ts +2 -2
  183. package/src/theme/primitives/column.ts +71 -0
  184. package/src/theme/primitives/index.ts +6 -0
  185. package/src/theme/primitives/panel.ts +43 -0
  186. package/src/{styles → theme}/theme.ts +27 -9
  187. package/src/typings.d.ts +3 -1
  188. package/src/{styles/fragments → util}/elevation.ts +6 -8
  189. package/src/util/hash-styles.ts +118 -98
  190. package/src/util/index.ts +3 -0
  191. package/src/util/mx.ts +165 -43
  192. package/src/util/size.ts +103 -0
  193. package/src/util/valence.ts +33 -0
  194. package/src/Tokens.stories.tsx +0 -88
  195. package/src/config/index.ts +0 -6
  196. package/src/config/tailwind.ts +0 -250
  197. package/src/config/tokens/alias-colors.ts +0 -39
  198. package/src/config/tokens/index.ts +0 -92
  199. package/src/config/tokens/lengths.ts +0 -97
  200. package/src/config/tokens/physical-colors.ts +0 -125
  201. package/src/config/tokens/semantic-colors.ts +0 -27
  202. package/src/config/tokens/sememes-calls.ts +0 -17
  203. package/src/config/tokens/sememes-codemirror.ts +0 -50
  204. package/src/config/tokens/sememes-hue.ts +0 -54
  205. package/src/config/tokens/sememes-sheet.ts +0 -62
  206. package/src/config/tokens/sememes-system.ts +0 -302
  207. package/src/config/tokens/sizes.ts +0 -7
  208. package/src/config/tokens/types.ts +0 -9
  209. package/src/docs/theme.drawio.svg +0 -635
  210. package/src/plugins/esbuild-plugin.ts +0 -65
  211. package/src/plugins/plugin.ts +0 -130
  212. package/src/plugins/resolveContent.ts +0 -51
  213. package/src/styles/components/README.md +0 -6
  214. package/src/styles/components/anchored-overflow.ts +0 -20
  215. package/src/styles/components/button.ts +0 -48
  216. package/src/styles/components/dialog.ts +0 -36
  217. package/src/styles/components/icon.ts +0 -19
  218. package/src/styles/components/input.ts +0 -177
  219. package/src/styles/components/scroll-area.ts +0 -43
  220. package/src/styles/components/toolbar.ts +0 -29
  221. package/src/styles/fragments/density.ts +0 -17
  222. package/src/styles/fragments/dimension.ts +0 -8
  223. package/src/styles/fragments/focus.ts +0 -16
  224. package/src/styles/fragments/group.ts +0 -12
  225. package/src/styles/fragments/hover.ts +0 -25
  226. package/src/styles/fragments/index.ts +0 -20
  227. package/src/styles/fragments/layout.ts +0 -7
  228. package/src/styles/fragments/motion.ts +0 -6
  229. package/src/styles/fragments/ornament.ts +0 -10
  230. package/src/styles/fragments/selected.ts +0 -45
  231. package/src/styles/fragments/shimmer.ts +0 -9
  232. package/src/styles/fragments/size.ts +0 -117
  233. package/src/styles/fragments/surface.ts +0 -29
  234. package/src/styles/fragments/text.ts +0 -12
  235. package/src/styles/fragments/valence.ts +0 -46
  236. package/src/styles/layers/README.md +0 -15
  237. package/src/styles/layers/anchored-overflow.css +0 -9
  238. package/src/styles/layers/animation.css +0 -17
  239. package/src/styles/layers/attention.css +0 -8
  240. package/src/styles/layers/base.css +0 -25
  241. package/src/styles/layers/can-scroll.css +0 -26
  242. package/src/styles/layers/dialog.css +0 -42
  243. package/src/styles/layers/drag-preview.css +0 -18
  244. package/src/styles/layers/hues.css +0 -110
  245. package/src/styles/layers/index.css +0 -26
  246. package/src/styles/layers/main.css +0 -160
  247. package/src/styles/layers/positioning.css +0 -23
  248. package/src/styles/layers/surfaces.css +0 -31
  249. package/src/styles/layers/tag.css +0 -132
  250. package/src/styles/layers/tldraw.css +0 -91
  251. package/src/styles/layers/tokens.css +0 -45
  252. package/src/tailwind.ts +0 -5
  253. package/src/theme.css +0 -9
  254. package/src/types.ts +0 -7
  255. package/src/util/withLogical.ts +0 -114
  256. /package/src/{styles/fragments → fragments}/disabled.ts +0 -0
  257. /package/src/{styles → theme}/components/breadcrumb.ts +0 -0
@@ -0,0 +1,132 @@
1
+ /**
2
+ * Tag
3
+ */
4
+
5
+ @layer dx-components {
6
+ .dx-tag {
7
+ @apply inline-block text-xs font-semibold m-0.5 px-1 rounded-sm cursor-default truncate;
8
+ padding-block: var(--spacing-tag-padding-block);
9
+ user-select: none;
10
+ }
11
+
12
+ .dx-tag--anchor {
13
+ /* NOTE: Margin offsets padding so that border is flush with text. This should only apply to anchor tags inside of Codemirror. */
14
+ @apply inline cursor-pointer -mx-[3px] px-[2px] py-0.5 border rounded-xs transition-colors;
15
+ /** TODO(burdon): Configure secondary color. */
16
+ @apply bg-group-surface text-sky-surface-text border-sky-border;
17
+
18
+ &:hover {
19
+ @apply bg-hover-surface;
20
+ }
21
+ }
22
+
23
+ .dx-tag[data-hue='neutral'],
24
+ .dx-tag--neutral {
25
+ @apply bg-neutral-surface text-neutral-surface-text;
26
+ }
27
+
28
+ .dx-tag[data-hue='red'],
29
+ .dx-tag--red {
30
+ @apply bg-red-surface text-red-surface-text;
31
+ }
32
+
33
+ .dx-tag[data-hue='orange'],
34
+ .dx-tag--orange {
35
+ @apply bg-orange-surface text-orange-surface-text;
36
+ }
37
+
38
+ .dx-tag[data-hue='amber'],
39
+ .dx-tag--amber {
40
+ @apply bg-amber-surface text-amber-surface-text;
41
+ }
42
+
43
+ .dx-tag[data-hue='yellow'],
44
+ .dx-tag--yellow {
45
+ @apply bg-yellow-surface text-yellow-surface-text;
46
+ }
47
+
48
+ .dx-tag[data-hue='lime'],
49
+ .dx-tag--lime {
50
+ @apply bg-lime-surface text-lime-surface-text;
51
+ }
52
+
53
+ .dx-tag[data-hue='green'],
54
+ .dx-tag--green {
55
+ @apply bg-green-surface text-green-surface-text;
56
+ }
57
+
58
+ .dx-tag[data-hue='emerald'],
59
+ .dx-tag--emerald {
60
+ @apply bg-emerald-surface text-emerald-surface-text;
61
+ }
62
+
63
+ .dx-tag[data-hue='teal'],
64
+ .dx-tag--teal {
65
+ @apply bg-teal-surface text-teal-surface-text;
66
+ }
67
+
68
+ .dx-tag[data-hue='cyan'],
69
+ .dx-tag--cyan {
70
+ @apply bg-cyan-surface text-cyan-surface-text;
71
+ }
72
+
73
+ .dx-tag[data-hue='sky'],
74
+ .dx-tag--sky {
75
+ @apply bg-sky-surface text-sky-surface-text;
76
+ }
77
+
78
+ .dx-tag[data-hue='blue'],
79
+ .dx-tag--blue {
80
+ @apply bg-blue-surface text-blue-surface-text;
81
+ }
82
+
83
+ .dx-tag[data-hue='indigo'],
84
+ .dx-tag--indigo {
85
+ @apply bg-indigo-surface text-indigo-surface-text;
86
+ }
87
+
88
+ .dx-tag[data-hue='violet'],
89
+ .dx-tag--violet {
90
+ @apply bg-violet-surface text-violet-surface-text;
91
+ }
92
+
93
+ .dx-tag[data-hue='purple'],
94
+ .dx-tag--purple {
95
+ @apply bg-purple-surface text-purple-surface-text;
96
+ }
97
+
98
+ .dx-tag[data-hue='fuchsia'],
99
+ .dx-tag--fuchsia {
100
+ @apply bg-fuchsia-surface text-fuchsia-surface-text;
101
+ }
102
+
103
+ .dx-tag[data-hue='pink'],
104
+ .dx-tag--pink {
105
+ @apply bg-pink-surface text-pink-surface-text;
106
+ }
107
+
108
+ .dx-tag[data-hue='rose'],
109
+ .dx-tag--rose {
110
+ @apply bg-rose-surface text-rose-surface-text;
111
+ }
112
+
113
+ .dx-tag[data-hue='info'],
114
+ .dx-tag--info {
115
+ @apply bg-cyan-surface text-cyan-surface-text;
116
+ }
117
+
118
+ .dx-tag[data-hue='success'],
119
+ .dx-tag--success {
120
+ @apply bg-emerald-surface text-emerald-surface-text;
121
+ }
122
+
123
+ .dx-tag[data-hue='warning'],
124
+ .dx-tag--warning {
125
+ @apply bg-amber-surface text-amber-surface-text;
126
+ }
127
+
128
+ .dx-tag[data-hue='error'],
129
+ .dx-tag--error {
130
+ @apply bg-rose-surface text-rose-surface-text;
131
+ }
132
+ }
@@ -0,0 +1,124 @@
1
+ /**
2
+ * Text
3
+ * Example: <span className='dx-text' data-hue={getHashHue(object.id)}>
4
+ */
5
+
6
+ @layer dx-components {
7
+ /*
8
+ * System
9
+ */
10
+
11
+ .dx-text[data-hue='info'],
12
+ .dx-text--info {
13
+ @apply text-cyan-text;
14
+ }
15
+
16
+ .dx-text[data-hue='success'],
17
+ .dx-text--success {
18
+ @apply text-emerald-text;
19
+ }
20
+
21
+ .dx-text[data-hue='warning'],
22
+ .dx-text--warning {
23
+ @apply text-amber-text;
24
+ }
25
+
26
+ .dx-text[data-hue='error'],
27
+ .dx-text--error {
28
+ @apply text-rose-text;
29
+ }
30
+
31
+ /*
32
+ * Colors
33
+ */
34
+
35
+ .dx-text[data-hue='neutral'],
36
+ .dx-text--neutral {
37
+ @apply text-neutral-text;
38
+ }
39
+
40
+ .dx-text[data-hue='red'],
41
+ .dx-text--red {
42
+ @apply text-red-text;
43
+ }
44
+
45
+ .dx-text[data-hue='orange'],
46
+ .dx-text--orange {
47
+ @apply text-orange-text;
48
+ }
49
+
50
+ .dx-text[data-hue='amber'],
51
+ .dx-text--amber {
52
+ @apply text-amber-text;
53
+ }
54
+
55
+ .dx-text[data-hue='yellow'],
56
+ .dx-text--yellow {
57
+ @apply text-yellow-text;
58
+ }
59
+
60
+ .dx-text[data-hue='lime'],
61
+ .dx-text--lime {
62
+ @apply text-lime-text;
63
+ }
64
+
65
+ .dx-text[data-hue='green'],
66
+ .dx-text--green {
67
+ @apply text-green-text;
68
+ }
69
+
70
+ .dx-text[data-hue='emerald'],
71
+ .dx-text--emerald {
72
+ @apply text-emerald-text;
73
+ }
74
+
75
+ .dx-text[data-hue='teal'],
76
+ .dx-text--teal {
77
+ @apply text-teal-text;
78
+ }
79
+
80
+ .dx-text[data-hue='cyan'],
81
+ .dx-text--cyan {
82
+ @apply text-cyan-text;
83
+ }
84
+
85
+ .dx-text[data-hue='sky'],
86
+ .dx-text--sky {
87
+ @apply text-sky-text;
88
+ }
89
+
90
+ .dx-text[data-hue='blue'],
91
+ .dx-text--blue {
92
+ @apply text-blue-text;
93
+ }
94
+
95
+ .dx-text[data-hue='indigo'],
96
+ .dx-text--indigo {
97
+ @apply text-indigo-text;
98
+ }
99
+
100
+ .dx-text[data-hue='violet'],
101
+ .dx-text--violet {
102
+ @apply text-violet-text;
103
+ }
104
+
105
+ .dx-text[data-hue='purple'],
106
+ .dx-text--purple {
107
+ @apply text-purple-text;
108
+ }
109
+
110
+ .dx-text[data-hue='fuchsia'],
111
+ .dx-text--fuchsia {
112
+ @apply text-fuchsia-text;
113
+ }
114
+
115
+ .dx-text[data-hue='pink'],
116
+ .dx-text--pink {
117
+ @apply text-pink-text;
118
+ }
119
+
120
+ .dx-text[data-hue='rose'],
121
+ .dx-text--rose {
122
+ @apply text-rose-text;
123
+ }
124
+ }
@@ -0,0 +1,34 @@
1
+ /**
2
+ * CodeMirror
3
+ * Uses @theme (not @layer) so Tailwind generates text-cm-* / bg-cm-* utility classes
4
+ * consumed by ui-editor. Compare: tldraw.css uses @layer to map tokens onto tldraw's
5
+ * own variables without generating utilities.
6
+ * TODO(burdon): This could move into the ui-editor package (similar to graph.css).
7
+ */
8
+
9
+ /** TODO(burdon): Move to ui-editor */
10
+ @theme {
11
+ --color-cm-codeblock: oklch(from var(--color-neutral-500) l c h / 0.1);
12
+ --color-cm-active-line: light-dark(
13
+ oklch(from var(--color-neutral-200) l c h / 0.5),
14
+ oklch(from var(--color-neutral-800) l c h / 0.5)
15
+ );
16
+ --color-cm-separator: var(--color-blue-500);
17
+ --color-cm-cursor: light-dark(var(--color-neutral-900), var(--color-neutral-100));
18
+ --color-cm-selection: light-dark(
19
+ oklch(from var(--color-blue-400) l c h / 0.5),
20
+ oklch(from var(--color-blue-600) l c h / 0.5)
21
+ );
22
+ --color-cm-focused-selection: light-dark(var(--color-blue-400), var(--color-blue-600));
23
+ --color-cm-highlight: light-dark(var(--color-neutral-950), var(--color-neutral-50));
24
+ --color-cm-highlight-surface: light-dark(var(--color-sky-200), var(--color-cyan-800));
25
+ --color-cm-comment-text: light-dark(var(--color-neutral-50), var(--color-neutral-950));
26
+ --color-cm-comment-surface: light-dark(var(--color-amber-800), var(--color-amber-200));
27
+
28
+ /* Markdown syntax highlighting */
29
+ --color-cm-code: light-dark(var(--color-stone-600), var(--color-stone-400));
30
+ --color-cm-code-inline: light-dark(var(--color-green-500), var(--color-green-500));
31
+ --color-cm-code-mark: var(--color-blue-500);
32
+ --color-cm-heading: light-dark(var(--color-blue-700), var(--color-blue-300));
33
+ --color-cm-heading-number: light-dark(var(--color-blue-600), var(--color-blue-400));
34
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Tldraw
3
+ */
4
+
5
+ /** TODO(burdon): Move to tldraw */
6
+ .tl-background {
7
+ --color-background: var(--color-base-surface);
8
+ }
9
+ .tl-container.tl-theme__light,
10
+ .tl-container.tl-theme__dark {
11
+ --color-selected: var(--color-accent-surface);
12
+ --color-panel: var(--color-modal-surface);
13
+ --color-panel-contrast: var(--color-separator);
14
+ }
@@ -0,0 +1,205 @@
1
+ /**
2
+ * Main
3
+ */
4
+
5
+ @layer dx-components {
6
+ /**
7
+ * Main Web app.
8
+ */
9
+ .dx-main-bounce-layout {
10
+ @apply fixed overflow-auto overscroll-auto;
11
+ transition-duration: 200ms;
12
+ transition-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
13
+ transition-property: padding-inline-start, padding-inline-end, scroll-padding-start, scroll-padding-end;
14
+ inset-inline-start: 0;
15
+ inset-inline-end: 0;
16
+ inset-block-start: 0;
17
+ inset-block-end: 0;
18
+ z-index: 0;
19
+ }
20
+
21
+ /** TODO(burdon): Reconcile with dx-main-bounce-layout */
22
+ .dx-main-content-padding-transitions {
23
+ transition-duration: 200ms;
24
+ transition-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
25
+ transition-property: padding-inline-start, padding-inline-end, scroll-padding-start, scroll-padding-end;
26
+ }
27
+
28
+ /**
29
+ *
30
+ */
31
+ .dx-main-intrinsic-size {
32
+ inline-size: calc(100dvw - 2 * var(--main-spacing));
33
+ transition-property: inline-size;
34
+ transition-duration: 200ms;
35
+ transition-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
36
+
37
+ @media (width >= theme(--breakpoint-lg)) {
38
+ &[data-sidebar-left-state='closed'][data-sidebar-right-state='closed'] {
39
+ inline-size: calc(100dvw - 2 * var(--main-spacing));
40
+ }
41
+ &[data-sidebar-left-state='collapsed'][data-sidebar-right-state='closed'] {
42
+ inline-size: calc(100dvw - var(--dx-l0-size) - 2 * var(--main-spacing));
43
+ }
44
+ &[data-sidebar-left-state='expanded'][data-sidebar-right-state='closed'] {
45
+ inline-size: calc(100dvw - var(--dx-nav-sidebar-size) - 2 * var(--main-spacing));
46
+ }
47
+
48
+ &[data-sidebar-left-state='closed'][data-sidebar-right-state='collapsed'] {
49
+ inline-size: calc(100dvw - var(--dx-r0-size) - 2 * var(--main-spacing));
50
+ }
51
+ &[data-sidebar-left-state='collapsed'][data-sidebar-right-state='collapsed'] {
52
+ inline-size: calc(100dvw - var(--dx-l0-size) - var(--dx-r0-size) - 2 * var(--main-spacing));
53
+ }
54
+ &[data-sidebar-left-state='expanded'][data-sidebar-right-state='collapsed'] {
55
+ inline-size: calc(100dvw - var(--dx-nav-sidebar-size) - var(--dx-r0-size) - 2 * var(--main-spacing));
56
+ }
57
+
58
+ &[data-sidebar-left-state='closed'][data-sidebar-right-state='expanded'] {
59
+ inline-size: calc(100dvw - var(--dx-complementary-sidebar-size) - 2 * var(--main-spacing));
60
+ }
61
+ &[data-sidebar-left-state='collapsed'][data-sidebar-right-state='expanded'] {
62
+ inline-size: calc(100dvw - var(--dx-l0-size) - var(--dx-complementary-sidebar-size) - 2 * var(--main-spacing));
63
+ }
64
+ &[data-sidebar-left-state='expanded'][data-sidebar-right-state='expanded'] {
65
+ inline-size: calc(
66
+ 100dvw - var(--dx-nav-sidebar-size) - var(--dx-complementary-sidebar-size) - 2 * var(--main-spacing)
67
+ );
68
+ }
69
+ }
70
+ }
71
+ }
72
+
73
+ @layer dx-components {
74
+ .dx-main-sidebar {
75
+ @apply fixed overscroll-contain overflow-x-hidden overflow-y-auto;
76
+ transition-duration: 200ms;
77
+ transition-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
78
+ @apply border-primary-separator rounded-md;
79
+ @apply backdrop-blur-md;
80
+ .dark & {
81
+ @apply backdrop-blur-lg;
82
+ }
83
+ background-color: var(--color-sidebar-surface);
84
+ --surface-bg: var(--color-sidebar-surface);
85
+
86
+ transition-property: inset-inline-start, inset-inline-end, inline-size;
87
+ inset-block-start: max(0.5rem, env(safe-area-inset-top));
88
+ inset-block-end: max(0.5rem, env(safe-area-inset-bottom));
89
+ inline-size: calc(100dvw - 3rem);
90
+ z-index: 7;
91
+
92
+ @media (width >= theme(--breakpoint-lg)) {
93
+ @apply top-0 bottom-0 rounded-none border-y-0;
94
+ }
95
+
96
+ &[data-resizing='false'] {
97
+ @apply duration-200;
98
+ }
99
+
100
+ &[data-side='is'] {
101
+ @apply -start-[100vw] border-e;
102
+ border-inline-end-width: var(--border-width-landmark-line) !important;
103
+ border-inline-end-style: solid;
104
+ z-index: 8;
105
+
106
+ &[data-state='expanded'] {
107
+ inset-inline-start: max(0.5rem, env(safe-area-inset-left));
108
+ @media (width >= theme(--breakpoint-lg)) {
109
+ @apply start-0;
110
+ }
111
+ }
112
+
113
+ @media (width >= theme(--breakpoint-sm)) {
114
+ @apply w-(--dx-nav-sidebar-size);
115
+ }
116
+
117
+ @media (width >= theme(--breakpoint-lg)) {
118
+ border-inline-start-width: 0;
119
+ border-inline-end-width: 0;
120
+
121
+ &[data-state='collapsed'] {
122
+ @apply w-(--dx-l0-size) start-0;
123
+ }
124
+ &[data-state='expanded'] {
125
+ @apply w-(--dx-nav-sidebar-size);
126
+ }
127
+ }
128
+ }
129
+
130
+ &[data-side='ie'] {
131
+ @apply -end-[100vw] border-s;
132
+ border-inline-start-width: var(--border-width-landmark-line);
133
+ border-inline-start-style: solid;
134
+
135
+ &[data-state='expanded'] {
136
+ inset-inline-end: max(0.5rem, env(safe-area-inset-right));
137
+ @media (width >= theme(--breakpoint-lg)) {
138
+ @apply end-0;
139
+ }
140
+ }
141
+
142
+ @media (width >= theme(--breakpoint-sm)) {
143
+ @apply w-(--dx-complementary-sidebar-size);
144
+ }
145
+
146
+ @media (width >= theme(--breakpoint-lg)) {
147
+ border-inline-end-width: 0;
148
+
149
+ &[data-state='collapsed'] {
150
+ @apply w-(--dx-r0-size) end-0;
151
+ }
152
+ &[data-state='expanded'] {
153
+ @apply w-(--dx-complementary-sidebar-size);
154
+ }
155
+ }
156
+ }
157
+ }
158
+
159
+ .dx-main-overlay {
160
+ @apply fixed inset-0 bg-scrim-surface;
161
+ transition-property: opacity;
162
+ transition-duration: 200ms;
163
+ transition-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
164
+ @apply opacity-0 hidden;
165
+ z-index: 6;
166
+
167
+ &[data-state='open'] {
168
+ @apply opacity-100 block;
169
+
170
+ @media (width >= theme(--breakpoint-lg)) {
171
+ @apply opacity-100 hidden;
172
+ }
173
+ }
174
+ }
175
+
176
+ /**
177
+ * Main content padding.
178
+ */
179
+ .dx-main-content-padding {
180
+ padding-inline-start: 0;
181
+ scroll-padding-inline-start: 0;
182
+ padding-inline-end: 0;
183
+ scroll-padding-inline-end: 0;
184
+
185
+ @media (width >= theme(--breakpoint-lg)) {
186
+ &[data-sidebar-left-state='collapsed'] {
187
+ padding-inline-start: var(--dx-l0-size);
188
+ scroll-padding-inline-start: var(--dx-l0-size);
189
+ }
190
+ &[data-sidebar-left-state='expanded'] {
191
+ padding-inline-start: var(--dx-nav-sidebar-size);
192
+ scroll-padding-inline-start: var(--dx-nav-sidebar-size);
193
+ }
194
+
195
+ &[data-sidebar-right-state='collapsed'] {
196
+ padding-inline-end: var(--dx-r0-size);
197
+ scroll-padding-inline-end: var(--dx-r0-size);
198
+ }
199
+ &[data-sidebar-right-state='expanded'] {
200
+ padding-inline-end: var(--dx-complementary-sidebar-size);
201
+ scroll-padding-inline-end: var(--dx-complementary-sidebar-size);
202
+ }
203
+ }
204
+ }
205
+ }
@@ -1,20 +1,22 @@
1
- @layer utilities {
1
+ /**
2
+ * Native app
3
+ */
2
4
 
5
+ @layer dx-components {
3
6
  /**
4
7
  * Native app drag regions.
5
8
  * For Tauri apps, the data-tauri-drag-region attribute is applied
6
9
  * automatically by plugin-native (Tauri doesn't support -webkit-app-region).
7
10
  * The CSS properties below are for Electron/PWA compatibility.
8
11
  */
9
- .app-drag {
12
+ .dx-app-drag {
10
13
  -webkit-user-select: none;
11
14
  -webkit-app-region: drag;
12
15
  --app-region: drag;
13
16
  }
14
17
 
15
- .app-no-drag {
18
+ .dx-app-no-drag {
16
19
  -webkit-app-region: no-drag;
17
20
  --app-region: no-drag;
18
21
  }
19
-
20
22
  }
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Positioning
3
+ */
4
+
5
+ @layer dx-components {
6
+ .dx-contain-layout {
7
+ contain: layout;
8
+ }
9
+
10
+ .dx-sticky-top-0 {
11
+ --sticky-top: 0;
12
+ }
13
+ .dx-sticky-top-from-topbar-bottom {
14
+ --sticky-top: var(--dx-topbar-size);
15
+ }
16
+ .dx-sticky-bottom-from-statusbar-bottom {
17
+ --sticky-bottom: var(--dx-statusbar-size);
18
+ }
19
+ }