@ohos-ports/dxos-react-ui-theme 0.6.7-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (196) hide show
  1. package/LICENSE +8 -0
  2. package/README.md +25 -0
  3. package/README.yml +1 -0
  4. package/dist/lib/browser/index.mjs +2300 -0
  5. package/dist/lib/browser/index.mjs.map +7 -0
  6. package/dist/lib/browser/meta.json +1 -0
  7. package/dist/plugin/node/chunk-G3RQ5GOB.cjs +712 -0
  8. package/dist/plugin/node/chunk-G3RQ5GOB.cjs.map +7 -0
  9. package/dist/plugin/node/esbuild-plugin.cjs +89 -0
  10. package/dist/plugin/node/esbuild-plugin.cjs.map +7 -0
  11. package/dist/plugin/node/meta.json +1 -0
  12. package/dist/plugin/node/plugin.cjs +77 -0
  13. package/dist/plugin/node/plugin.cjs.map +7 -0
  14. package/dist/plugin/node/theme.css +418 -0
  15. package/dist/plugin/node/theme.css.map +7 -0
  16. package/dist/types/src/config/colors.d.ts +109 -0
  17. package/dist/types/src/config/colors.d.ts.map +1 -0
  18. package/dist/types/src/config/index.d.ts +3 -0
  19. package/dist/types/src/config/index.d.ts.map +1 -0
  20. package/dist/types/src/config/resolveContent.d.ts +2 -0
  21. package/dist/types/src/config/resolveContent.d.ts.map +1 -0
  22. package/dist/types/src/config/tailwind.d.ts +9 -0
  23. package/dist/types/src/config/tailwind.d.ts.map +1 -0
  24. package/dist/types/src/esbuild-plugin.d.ts +9 -0
  25. package/dist/types/src/esbuild-plugin.d.ts.map +1 -0
  26. package/dist/types/src/index.d.ts +4 -0
  27. package/dist/types/src/index.d.ts.map +1 -0
  28. package/dist/types/src/plugin.d.ts +13 -0
  29. package/dist/types/src/plugin.d.ts.map +1 -0
  30. package/dist/types/src/styles/components/anchored-overflow.d.ts +6 -0
  31. package/dist/types/src/styles/components/anchored-overflow.d.ts.map +1 -0
  32. package/dist/types/src/styles/components/avatar.d.ts +21 -0
  33. package/dist/types/src/styles/components/avatar.d.ts.map +1 -0
  34. package/dist/types/src/styles/components/breadcrumb.d.ts +9 -0
  35. package/dist/types/src/styles/components/breadcrumb.d.ts.map +1 -0
  36. package/dist/types/src/styles/components/button.d.ts +19 -0
  37. package/dist/types/src/styles/components/button.d.ts.map +1 -0
  38. package/dist/types/src/styles/components/dialog.d.ts +12 -0
  39. package/dist/types/src/styles/components/dialog.d.ts.map +1 -0
  40. package/dist/types/src/styles/components/index.d.ts +22 -0
  41. package/dist/types/src/styles/components/index.d.ts.map +1 -0
  42. package/dist/types/src/styles/components/input.d.ts +103 -0
  43. package/dist/types/src/styles/components/input.d.ts.map +1 -0
  44. package/dist/types/src/styles/components/link.d.ts +7 -0
  45. package/dist/types/src/styles/components/link.d.ts.map +1 -0
  46. package/dist/types/src/styles/components/list.d.ts +14 -0
  47. package/dist/types/src/styles/components/list.d.ts.map +1 -0
  48. package/dist/types/src/styles/components/main.d.ts +25 -0
  49. package/dist/types/src/styles/components/main.d.ts.map +1 -0
  50. package/dist/types/src/styles/components/menu.d.ts +12 -0
  51. package/dist/types/src/styles/components/menu.d.ts.map +1 -0
  52. package/dist/types/src/styles/components/message.d.ts +10 -0
  53. package/dist/types/src/styles/components/message.d.ts.map +1 -0
  54. package/dist/types/src/styles/components/popover.d.ts +10 -0
  55. package/dist/types/src/styles/components/popover.d.ts.map +1 -0
  56. package/dist/types/src/styles/components/scroll-area.d.ts +9 -0
  57. package/dist/types/src/styles/components/scroll-area.d.ts.map +1 -0
  58. package/dist/types/src/styles/components/select.d.ts +13 -0
  59. package/dist/types/src/styles/components/select.d.ts.map +1 -0
  60. package/dist/types/src/styles/components/separator.d.ts +7 -0
  61. package/dist/types/src/styles/components/separator.d.ts.map +1 -0
  62. package/dist/types/src/styles/components/status.d.ts +8 -0
  63. package/dist/types/src/styles/components/status.d.ts.map +1 -0
  64. package/dist/types/src/styles/components/tag.d.ts +7 -0
  65. package/dist/types/src/styles/components/tag.d.ts.map +1 -0
  66. package/dist/types/src/styles/components/toast.d.ts +12 -0
  67. package/dist/types/src/styles/components/toast.d.ts.map +1 -0
  68. package/dist/types/src/styles/components/toolbar.d.ts +5 -0
  69. package/dist/types/src/styles/components/toolbar.d.ts.map +1 -0
  70. package/dist/types/src/styles/components/tooltip.d.ts +6 -0
  71. package/dist/types/src/styles/components/tooltip.d.ts.map +1 -0
  72. package/dist/types/src/styles/components/treegrid.d.ts +10 -0
  73. package/dist/types/src/styles/components/treegrid.d.ts.map +1 -0
  74. package/dist/types/src/styles/fragments/arrow.d.ts +6 -0
  75. package/dist/types/src/styles/fragments/arrow.d.ts.map +1 -0
  76. package/dist/types/src/styles/fragments/density.d.ts +13 -0
  77. package/dist/types/src/styles/fragments/density.d.ts.map +1 -0
  78. package/dist/types/src/styles/fragments/dimensions.d.ts +2 -0
  79. package/dist/types/src/styles/fragments/dimensions.d.ts.map +1 -0
  80. package/dist/types/src/styles/fragments/disabled.d.ts +3 -0
  81. package/dist/types/src/styles/fragments/disabled.d.ts.map +1 -0
  82. package/dist/types/src/styles/fragments/elevation.d.ts +11 -0
  83. package/dist/types/src/styles/fragments/elevation.d.ts.map +1 -0
  84. package/dist/types/src/styles/fragments/focus.d.ts +6 -0
  85. package/dist/types/src/styles/fragments/focus.d.ts.map +1 -0
  86. package/dist/types/src/styles/fragments/group.d.ts +5 -0
  87. package/dist/types/src/styles/fragments/group.d.ts.map +1 -0
  88. package/dist/types/src/styles/fragments/hover.d.ts +14 -0
  89. package/dist/types/src/styles/fragments/hover.d.ts.map +1 -0
  90. package/dist/types/src/styles/fragments/hue.d.ts +16 -0
  91. package/dist/types/src/styles/fragments/hue.d.ts.map +1 -0
  92. package/dist/types/src/styles/fragments/index.d.ts +19 -0
  93. package/dist/types/src/styles/fragments/index.d.ts.map +1 -0
  94. package/dist/types/src/styles/fragments/layout.d.ts +3 -0
  95. package/dist/types/src/styles/fragments/layout.d.ts.map +1 -0
  96. package/dist/types/src/styles/fragments/motion.d.ts +3 -0
  97. package/dist/types/src/styles/fragments/motion.d.ts.map +1 -0
  98. package/dist/types/src/styles/fragments/ornament.d.ts +4 -0
  99. package/dist/types/src/styles/fragments/ornament.d.ts.map +1 -0
  100. package/dist/types/src/styles/fragments/selected.d.ts +12 -0
  101. package/dist/types/src/styles/fragments/selected.d.ts.map +1 -0
  102. package/dist/types/src/styles/fragments/shimmer.d.ts +3 -0
  103. package/dist/types/src/styles/fragments/shimmer.d.ts.map +1 -0
  104. package/dist/types/src/styles/fragments/size.d.ts +9 -0
  105. package/dist/types/src/styles/fragments/size.d.ts.map +1 -0
  106. package/dist/types/src/styles/fragments/surface.d.ts +9 -0
  107. package/dist/types/src/styles/fragments/surface.d.ts.map +1 -0
  108. package/dist/types/src/styles/fragments/text.d.ts +6 -0
  109. package/dist/types/src/styles/fragments/text.d.ts.map +1 -0
  110. package/dist/types/src/styles/fragments/valence.d.ts +13 -0
  111. package/dist/types/src/styles/fragments/valence.d.ts.map +1 -0
  112. package/dist/types/src/styles/index.d.ts +4 -0
  113. package/dist/types/src/styles/index.d.ts.map +1 -0
  114. package/dist/types/src/styles/theme.d.ts +5 -0
  115. package/dist/types/src/styles/theme.d.ts.map +1 -0
  116. package/dist/types/src/tailwind.d.ts +1 -0
  117. package/dist/types/src/tailwind.d.ts.map +1 -0
  118. package/dist/types/src/util/index.d.ts +2 -0
  119. package/dist/types/src/util/index.d.ts.map +1 -0
  120. package/dist/types/src/util/mx.d.ts +2 -0
  121. package/dist/types/src/util/mx.d.ts.map +1 -0
  122. package/dist/types/src/util/semanticColors.d.ts +10 -0
  123. package/dist/types/src/util/semanticColors.d.ts.map +1 -0
  124. package/dist/types/src/util/withLogical.d.ts +158 -0
  125. package/dist/types/src/util/withLogical.d.ts.map +1 -0
  126. package/package.json +45 -0
  127. package/plugin.d.ts +7 -0
  128. package/plugin.js +10 -0
  129. package/src/config/colors.ts +293 -0
  130. package/src/config/index.ts +6 -0
  131. package/src/config/resolveContent.ts +50 -0
  132. package/src/config/tailwind.ts +200 -0
  133. package/src/esbuild-plugin.ts +60 -0
  134. package/src/index.ts +7 -0
  135. package/src/plugin.ts +63 -0
  136. package/src/styles/components/anchored-overflow.ts +20 -0
  137. package/src/styles/components/avatar.ts +96 -0
  138. package/src/styles/components/breadcrumb.ts +29 -0
  139. package/src/styles/components/button.ts +47 -0
  140. package/src/styles/components/dialog.ts +46 -0
  141. package/src/styles/components/index.ts +25 -0
  142. package/src/styles/components/input.ts +172 -0
  143. package/src/styles/components/link.ts +27 -0
  144. package/src/styles/components/list.ts +46 -0
  145. package/src/styles/components/main.ts +81 -0
  146. package/src/styles/components/menu.ts +52 -0
  147. package/src/styles/components/message.ts +27 -0
  148. package/src/styles/components/popover.ts +32 -0
  149. package/src/styles/components/scroll-area.ts +42 -0
  150. package/src/styles/components/select.ts +55 -0
  151. package/src/styles/components/separator.ts +19 -0
  152. package/src/styles/components/status.ts +27 -0
  153. package/src/styles/components/tag.ts +49 -0
  154. package/src/styles/components/toast.ts +53 -0
  155. package/src/styles/components/toolbar.ts +17 -0
  156. package/src/styles/components/tooltip.ts +27 -0
  157. package/src/styles/components/treegrid.ts +37 -0
  158. package/src/styles/fragments/arrow.ts +10 -0
  159. package/src/styles/fragments/density.ts +17 -0
  160. package/src/styles/fragments/dimensions.ts +5 -0
  161. package/src/styles/fragments/disabled.ts +6 -0
  162. package/src/styles/fragments/elevation.ts +14 -0
  163. package/src/styles/fragments/focus.ts +18 -0
  164. package/src/styles/fragments/group.ts +12 -0
  165. package/src/styles/fragments/hover.ts +22 -0
  166. package/src/styles/fragments/hue.ts +151 -0
  167. package/src/styles/fragments/index.ts +22 -0
  168. package/src/styles/fragments/layout.ts +7 -0
  169. package/src/styles/fragments/motion.ts +8 -0
  170. package/src/styles/fragments/ornament.ts +7 -0
  171. package/src/styles/fragments/selected.ts +39 -0
  172. package/src/styles/fragments/shimmer.ts +9 -0
  173. package/src/styles/fragments/size.ts +117 -0
  174. package/src/styles/fragments/surface.ts +29 -0
  175. package/src/styles/fragments/text.ts +11 -0
  176. package/src/styles/fragments/valence.ts +50 -0
  177. package/src/styles/index.ts +7 -0
  178. package/src/styles/layers/anchored-overflow.css +9 -0
  179. package/src/styles/layers/attention.css +50 -0
  180. package/src/styles/layers/button.css +73 -0
  181. package/src/styles/layers/can-scroll.css +26 -0
  182. package/src/styles/layers/checkbox.css +25 -0
  183. package/src/styles/layers/focus-ring.css +26 -0
  184. package/src/styles/layers/index.css +10 -0
  185. package/src/styles/layers/positioning.css +20 -0
  186. package/src/styles/layers/surfaces.css +39 -0
  187. package/src/styles/layers/tldraw.css +87 -0
  188. package/src/styles/layers/typography.css +152 -0
  189. package/src/styles/theme.ts +69 -0
  190. package/src/tailwind.ts +5 -0
  191. package/src/theme.css +52 -0
  192. package/src/typings.d.ts +7 -0
  193. package/src/util/index.ts +5 -0
  194. package/src/util/mx.ts +40 -0
  195. package/src/util/semanticColors.ts +57 -0
  196. package/src/util/withLogical.ts +110 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/config/tailwind.ts", "../../../src/config/colors.ts", "../../../src/util/semanticColors.ts", "../../../src/config/resolveContent.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2022 DXOS.org\n//\n\nimport tailwindcssForms from '@tailwindcss/forms';\nimport merge from 'lodash.merge';\nimport tailwindScrollbar from 'tailwind-scrollbar';\nimport tailwindColors from 'tailwindcss/colors.js';\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 { physicalColors, semanticColors } from './colors';\nimport { semanticColors as semanticColorsPlugin } from '../util/semanticColors';\n\nexport type TailwindConfig = Config;\nexport type TailwindThemeConfig = ThemeConfig;\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 screens: {\n 'pointer-fine': { raw: '(pointer: fine)' },\n 'hover-hover': { raw: '(hover: hover)' },\n },\n colors: {\n ...physicalColors,\n slate: tailwindColors.slate,\n gray: tailwindColors.gray,\n zinc: tailwindColors.zinc,\n stone: tailwindColors.stone,\n success: physicalColors.emerald,\n warning: physicalColors.amber,\n error: physicalColors.rose,\n info: physicalColors.cyan,\n transparent: 'transparent',\n current: 'currentColor',\n white: '#ffffff',\n black: '#000000',\n },\n semanticColors,\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 outlineWidth: {\n 3: '3px',\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 keyframes: {\n // Popper chrome\n slideDownAndFade: {\n from: { opacity: 0, transform: 'translateY(-2px)' },\n to: { opacity: 1, transform: 'translateY(0)' },\n },\n slideLeftAndFade: {\n from: { opacity: 0, transform: 'translateX(2px)' },\n to: { opacity: 1, transform: 'translateX(0)' },\n },\n slideUpAndFade: {\n from: { opacity: 0, transform: 'translateY(2px)' },\n to: { opacity: 1, transform: 'translateY(0)' },\n },\n slideRightAndFade: {\n from: { opacity: 0, transform: 'translateX(-2px)' },\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 // Shimmer\n 'shimmer-loop': {\n '100%': {\n transform: 'translateX(100%)',\n },\n },\n\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-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 animation: {\n // Popper chrome\n slideDownAndFade: 'slideDownAndFade 400ms cubic-bezier(0.16, 1, 0.3, 1)',\n slideLeftAndFade: 'slideLeftAndFade 400ms cubic-bezier(0.16, 1, 0.3, 1)',\n slideUpAndFade: 'slideUpAndFade 400ms cubic-bezier(0.16, 1, 0.3, 1)',\n slideRightAndFade: 'slideRightAndFade 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 spin: 'spin 1.5s linear infinite',\n 'spin-slow': 'spin 3s linear infinite',\n\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 },\n },\n ...extensions,\n ),\n },\n plugins: [\n semanticColorsPlugin,\n tailwindcssLogical,\n tailwindcssForms,\n tailwindcssRadix(),\n // https://adoxography.github.io/tailwind-scrollbar/utilities\n tailwindScrollbar,\n ],\n ...(env === 'development' && { mode: 'jit' }),\n content,\n future: {\n hoverOnlyWhenSupported: true,\n },\n});\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport {\n curvePathFromPalette,\n paletteShadesFromCurve,\n hex_to_LCH as hexToLch,\n Lab_to_hex as labToHex,\n} from '@ch-ui/colors';\n\nexport type PaletteConfig = {\n keyColor: string;\n darkCp: number;\n lightCp: number;\n hueTorsion: number;\n};\n\nconst shadeNumbers: number[] = /* [...Array(19)].map((_, i) => 50 + i * 50); */ [\n 50, 100, 150, 200, 250, 300, 350, 400, 450, 500, 550, 600, 650, 700, 750, 800, 850, 900, 950,\n];\n\nconst broadShadeNumbers: number[] = [\n 12, 25, 37, 50, 75, 100, 125, 150, 200, 250, 300, 350, 400, 450, 500, 550, 600, 650, 700, 750, 800, 825, 850, 875,\n 900, 925, 950, 975,\n];\n\nconst dtor = Math.PI / 180;\n\nexport type HuePalette =\n | 'red'\n | 'orange'\n | 'amber'\n | 'yellow'\n | 'lime'\n | 'green'\n | 'emerald'\n | 'teal'\n | 'cyan'\n | 'sky'\n | 'blue'\n | 'indigo'\n | 'violet'\n | 'purple'\n | 'fuchsia'\n | 'pink'\n | 'rose';\n\nexport type ConfigPalette = HuePalette | 'primary' | 'neutral';\n\nexport const paletteConfigs: Record<ConfigPalette, PaletteConfig> = {\n red: {\n keyColor: '#ee003b',\n darkCp: 1,\n lightCp: 0.13,\n hueTorsion: 5.5 * dtor,\n },\n orange: {\n keyColor: '#fa6b32',\n darkCp: 0.725,\n lightCp: 1,\n hueTorsion: 13 * dtor,\n },\n amber: {\n keyColor: '#f08c00',\n darkCp: 1,\n lightCp: 1,\n hueTorsion: 24 * dtor,\n },\n yellow: {\n keyColor: '#ffd900',\n darkCp: 1,\n lightCp: 1,\n hueTorsion: 32 * dtor,\n },\n lime: {\n keyColor: '#99c400',\n darkCp: 1,\n lightCp: 1,\n hueTorsion: -3.5 * dtor,\n },\n green: {\n keyColor: '#30a908',\n darkCp: 0.35,\n lightCp: 0.665,\n hueTorsion: -10.5 * dtor,\n },\n emerald: {\n keyColor: '#15e066',\n darkCp: 1,\n lightCp: 0.735,\n hueTorsion: -7 * dtor,\n },\n teal: {\n keyColor: '#00a270',\n darkCp: 1,\n lightCp: 0.755,\n hueTorsion: -12 * dtor,\n },\n cyan: {\n keyColor: '#048992',\n darkCp: 1,\n lightCp: 0.855,\n hueTorsion: -15 * dtor,\n },\n sky: {\n keyColor: '#007bc2',\n darkCp: 1,\n lightCp: 0.64,\n hueTorsion: 0,\n },\n blue: {\n keyColor: '#0058cb',\n darkCp: 1,\n lightCp: 0.495,\n hueTorsion: -7 * dtor,\n },\n indigo: {\n keyColor: '#1b45c5',\n darkCp: 0.495,\n lightCp: 0.55,\n hueTorsion: 0,\n },\n violet: {\n keyColor: '#080886',\n darkCp: 0.195,\n lightCp: 0.635,\n hueTorsion: -5 * dtor,\n },\n purple: {\n keyColor: '#2c0073',\n darkCp: 0,\n lightCp: 0.63,\n hueTorsion: 0,\n },\n fuchsia: {\n keyColor: '#6d0085',\n darkCp: 1,\n lightCp: 0.695,\n hueTorsion: 0,\n },\n pink: {\n keyColor: '#a5006d',\n darkCp: 1,\n lightCp: 0.775,\n hueTorsion: 0,\n },\n rose: {\n keyColor: '#d00054',\n darkCp: 1,\n lightCp: 1,\n hueTorsion: 0,\n },\n neutral: {\n keyColor: '#707076',\n darkCp: 0.8,\n lightCp: 0.88,\n hueTorsion: 0,\n },\n primary: {\n keyColor: '#1662d9',\n darkCp: 0.86,\n lightCp: 1,\n hueTorsion: -30 * dtor,\n },\n};\n\nexport const physicalColors = Object.keys(paletteConfigs).reduce(\n (acc: Record<string, Record<string, string>>, palette) => {\n const isBroad = palette === 'neutral' || palette === 'primary';\n const paletteConfig = paletteConfigs[palette as ConfigPalette];\n const curve = curvePathFromPalette({\n ...paletteConfig,\n keyColor: hexToLch(paletteConfig.keyColor),\n });\n const defaultShades = paletteShadesFromCurve(curve, 21, [0, 100 * (22 / 21)], 1, 24).reverse();\n const renderCssValue = (shadeNumber: number) => {\n if (shadeNumber > 999) {\n return '#000000';\n } else if (shadeNumber < 1) {\n return '#ffffff';\n } else if (shadeNumber % 50 === 0) {\n return labToHex(defaultShades[shadeNumber / 50]);\n } else {\n const k2 = (shadeNumber % 50) / 50;\n const k1 = 1 - k2;\n const [l1, a1, b1] = defaultShades[Math.floor(shadeNumber / 50)];\n const [l2, a2, b2] = defaultShades[Math.ceil(shadeNumber / 50)];\n return labToHex([l1 * k1 + l2 * k2, a1 * k1 + a2 * k2, b1 * k1 + b2 * k2]);\n }\n };\n acc[palette] = (isBroad ? broadShadeNumbers : shadeNumbers).reduce((acc: Record<string, string>, shadeNumber) => {\n acc[shadeNumber] = renderCssValue(shadeNumber);\n return acc;\n }, {});\n\n return acc;\n },\n {},\n);\n\nexport const semanticColors = {\n scrim: {\n light: `${physicalColors.neutral['75']}A6`,\n dark: `${physicalColors.neutral['900']}A6`,\n },\n attention: {\n light: '#ffffff',\n dark: physicalColors.neutral['900'],\n },\n deck: {\n light: physicalColors.neutral['75'],\n dark: physicalColors.neutral['875'],\n },\n base: {\n light: physicalColors.neutral['25'],\n dark: physicalColors.neutral['850'],\n fg: { light: '#000000', dark: '#ffffff' },\n },\n fgHover: {\n light: physicalColors.neutral['900'],\n dark: physicalColors.neutral['100'],\n },\n description: {\n light: physicalColors.neutral['500'],\n dark: physicalColors.neutral['400'],\n },\n subdued: {\n light: physicalColors.neutral['700'],\n dark: physicalColors.neutral['300'],\n },\n error: {\n light: physicalColors.red['700'],\n dark: physicalColors.red['300'],\n },\n baseGlass: {\n light: `${physicalColors.neutral['12']}e0`,\n dark: `${physicalColors.neutral['850']}e0`,\n },\n input: {\n light: physicalColors.neutral['50'],\n dark: physicalColors.neutral['825'],\n },\n modal: {\n light: '#ffffff',\n dark: `${physicalColors.neutral['750']}`,\n },\n modalSelected: {\n light: physicalColors.neutral['50'],\n dark: physicalColors.neutral['825'],\n },\n hover: {\n light: physicalColors.neutral['37'],\n dark: physicalColors.neutral['800'],\n },\n accent: {\n light: physicalColors.primary['550'],\n dark: physicalColors.primary['550'],\n fg: { light: physicalColors.primary['550'], dark: physicalColors.primary['400'] },\n },\n accentHover: {\n light: physicalColors.primary['600'],\n dark: physicalColors.primary['500'],\n },\n accentFocusIndicator: {\n light: physicalColors.primary['350'],\n dark: physicalColors.primary['450'],\n },\n unAccent: {\n light: physicalColors.neutral['500'],\n dark: physicalColors.neutral['400'],\n },\n unAccentHover: {\n light: physicalColors.neutral['400'],\n dark: physicalColors.neutral['500'],\n },\n separator: {\n light: physicalColors.neutral['50'],\n dark: physicalColors.neutral['700'],\n },\n inverse: {\n light: '#ffffff',\n dark: '#ffffff',\n },\n transparent: {\n light: 'transparent',\n dark: 'transparent',\n },\n unavailable: {\n light: physicalColors.neutral['100'],\n dark: physicalColors.neutral['600'],\n },\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\n// Based upon https://github.com/synw/tailwindcss-semantic-colors/blob/main/index.js retrieved 22 Jan 2024\n\nimport plugin from 'tailwindcss/plugin.js';\nimport { type CSSRuleObject } from 'tailwindcss/types/config';\n\nexport type SemanticColorValue = {\n light: string;\n dark: string;\n fg?: SemanticColorValue;\n};\n\n// TODO(burdon): Move out of util (should not to be exported as lib).\nexport const semanticColors = plugin(({ addUtilities, theme, e }) => {\n const values: Record<string, SemanticColorValue> = theme('semanticColors');\n const semanticColorUtilities = Object.entries(values).map(([key, value]) => {\n return {\n // TODO(thure): Refactor all of these tokens to simply prefix the properties they apply with `s-` as with `s-accent`.\n [`.fg-${e(`${key}`)}`]: {\n color: `${value.fg?.light ?? value.light}`,\n },\n [`.dark .fg-${e(`${key}`)}`]: {\n color: `${value.fg?.dark ?? value.dark}`,\n },\n [`.s-accent-${e(`${key}`)}`]: {\n accentColor: `${value.fg?.light ?? value.light}`,\n },\n [`.dark .s-accent-${e(`${key}`)}`]: {\n accentColor: `${value.fg?.dark ?? value.dark}`,\n },\n [`.surface-${e(`${key}`)}`]: {\n backgroundColor: `${value.light}`,\n '--sticky-bg': `${value.light}`,\n },\n [`.dark .surface-${e(`${key}`)}`]: {\n backgroundColor: `${value.dark}`,\n '--sticky-bg': `${value.dark}`,\n },\n [`.separator-${e(`${key}`)}`]: {\n borderColor: `${value.fg?.light ?? value.light}`,\n },\n [`.dark .separator-${e(`${key}`)}`]: {\n borderColor: `${value.fg?.dark ?? value.dark}`,\n },\n [`.s-outline-${e(`${key}`)}`]: {\n outlineColor: `${value.fg?.light ?? value.light}`,\n },\n [`.dark .s-outline-${e(`${key}`)}`]: {\n outlineColor: `${value.fg?.dark ?? value.dark}`,\n },\n } as CSSRuleObject;\n });\n addUtilities(semanticColorUtilities);\n});\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { glob as globCb } from 'glob';\nimport { promisify } from 'node:util';\n\nconst glob = promisify(globCb);\n\nconst knownIndirectPeers = [\n '@dxos/react-*',\n '@dxos/react-ui-*',\n '@dxos/devtools',\n '@dxos/shell',\n // TODO(thure): glob v7 runs out of memory if we do a `**` search, and this is (hopefully) the only L3 content package; find a better solution.\n '@dxos/react-ui-table/node_modules/@dxos/react-ui-searchlist',\n];\n\nconst knownDirectPeers = ['@braneframe/plugin-*', ...knownIndirectPeers];\n\nconst packageNamePattern = /.*node_modules\\/(.+?)$/;\nconst packageName = (path: string) => path.match(packageNamePattern)?.[1];\n\nconst flatten = (acc: string[], group: string[]) => [...acc, ...group];\nconst dedupe = (acc: Record<string, string>, path: string) => {\n const name = packageName(path);\n if (name && !acc[name]) {\n acc[name] = path;\n }\n return acc;\n};\n\nexport const resolveKnownPeers = async (content: string[], cwd: string): Promise<string[]> => {\n const globOptions = { cwd, absolute: true };\n\n const directPeers = await Promise.all(knownDirectPeers.map((peer) => glob(`./node_modules/${peer}`, globOptions)));\n\n // NOTE(thure): With glob v7, JS runs out of memory if `**` is used, so this limits the search to @braneframe/plugin-*/node_modules\n const indirectPeers = await Promise.all(\n knownIndirectPeers.map((peer) => glob(`./node_modules/@braneframe/plugin-*/node_modules/${peer}`, globOptions)),\n );\n\n const knownPeerContent = Object.values(\n indirectPeers.reduce(flatten, []).reduce(dedupe, directPeers.reduce(flatten, []).reduce(dedupe, {})),\n ).map((value) => `${value}/dist/lib/**/*.mjs`);\n\n // console.log('[found known peer content paths]', knownPeerContent);\n\n return [...content, ...knownPeerContent];\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["import_colors", "shadeNumbers", "broadShadeNumbers", "dtor", "Math", "PI", "paletteConfigs", "red", "keyColor", "darkCp", "lightCp", "hueTorsion", "orange", "amber", "yellow", "lime", "green", "emerald", "teal", "cyan", "sky", "blue", "indigo", "violet", "purple", "fuchsia", "pink", "rose", "neutral", "primary", "physicalColors", "Object", "keys", "reduce", "acc", "palette", "isBroad", "paletteConfig", "curve", "curvePathFromPalette", "hexToLch", "defaultShades", "paletteShadesFromCurve", "reverse", "renderCssValue", "shadeNumber", "labToHex", "k2", "k1", "l1", "a1", "b1", "floor", "l2", "a2", "b2", "ceil", "semanticColors", "scrim", "light", "dark", "attention", "deck", "base", "fg", "fgHover", "description", "subdued", "error", "baseGlass", "input", "modal", "modalSelected", "hover", "accent", "accentHover", "accentFocusIndicator", "unAccent", "unAccentHover", "separator", "inverse", "transparent", "unavailable", "plugin", "addUtilities", "theme", "e", "values", "semanticColorUtilities", "entries", "map", "key", "value", "color", "accentColor", "backgroundColor", "borderColor", "outlineColor", "tailwindConfig", "env", "content", "extensions", "darkMode", "fontFamily", "body", "defaultConfig", "sans", "mono", "extend", "merge", "screens", "raw", "colors", "slate", "tailwindColors", "gray", "zinc", "stone", "success", "warning", "info", "current", "white", "black", "fontSize", "xs", "lineHeight", "sm", "lg", "xl", "outlineWidth", "boxShadow", "slider", "transitionProperty", "keyframes", "slideDownAndFade", "from", "opacity", "transform", "to", "slideLeftAndFade", "slideUpAndFade", "slideRightAndFade", "left", "width", "animation", "spin", "shimmer", "plugins", "semanticColorsPlugin", "tailwindcssLogical", "tailwindcssForms", "tailwindcssRadix", "tailwindScrollbar", "mode", "future", "hoverOnlyWhenSupported", "glob", "promisify", "globCb", "knownIndirectPeers", "knownDirectPeers", "packageNamePattern", "packageName", "path", "match", "flatten", "group", "dedupe", "name", "resolveKnownPeers", "cwd", "globOptions", "absolute", "directPeers", "Promise", "all", "peer", "indirectPeers", "knownPeerContent"]
7
+ }
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var esbuild_plugin_exports = {};
30
+ __export(esbuild_plugin_exports, {
31
+ ThemePlugins: () => ThemePlugins
32
+ });
33
+ module.exports = __toCommonJS(esbuild_plugin_exports);
34
+ var import_chunk_G3RQ5GOB = require("./chunk-G3RQ5GOB.cjs");
35
+ var import_autoprefixer = __toESM(require("autoprefixer"));
36
+ var import_esbuild_style_plugin = __toESM(require("esbuild-style-plugin"));
37
+ var import_promises = require("node:fs/promises");
38
+ var import_node_path = require("node:path");
39
+ var import_tailwindcss = __toESM(require("tailwindcss"));
40
+ var ThemePlugins = async (options) => {
41
+ const resolvedContent = options.root ? await (0, import_chunk_G3RQ5GOB.resolveKnownPeers)(options.content, options.root) : options.content;
42
+ return [
43
+ // TODO(thure): This really shouldn’t be this way, but after hours of searching for a reasonable way to do this I came up empty. The prior art I found was mainly this thread, though it’s only tangentially related: https://github.com/evanw/esbuild/issues/800#issuecomment-786151076
44
+ {
45
+ name: "esbuild-plugin-dxos-ui-theme-resolvers",
46
+ setup: async (build) => {
47
+ const fontsDir = (0, import_node_path.join)(options.outdir, "node_modules/@dxos/react-ui-theme/fonts");
48
+ try {
49
+ await (0, import_promises.mkdir)(fontsDir);
50
+ } catch (_err) {
51
+ }
52
+ build.onResolve({
53
+ filter: /\.woff2$/
54
+ }, async (args) => {
55
+ const depPath = (0, import_node_path.resolve)(args.resolveDir, args.path);
56
+ const destPath = (0, import_node_path.join)(fontsDir, (0, import_node_path.basename)(args.path));
57
+ try {
58
+ await (0, import_promises.cp)(depPath, destPath);
59
+ } catch (_err) {
60
+ }
61
+ return {
62
+ path: `./${(0, import_node_path.relative)(options.outdir, (0, import_node_path.join)("fonts", (0, import_node_path.basename)(args.path)))}`,
63
+ external: true
64
+ };
65
+ });
66
+ }
67
+ },
68
+ // TODO(thure): theme.css must be part of entryPoints in order to be processed with `stylePlugin`, but this should not be necessary. ESBuild would not load theme.css using stylePlugin if referenced within index.ts(x) as with the Vite plugin.
69
+ // TODO(thure): Note also that because it is an entryPoint, the developer has to reference the built theme.css from `index.html`, which is inflexible and possibly inconvenient.
70
+ // TODO(zhenyasav): autoprefixer version misalignment with esbuild-style-plugin requires the `as any`
71
+ (0, import_esbuild_style_plugin.default)({
72
+ postcss: {
73
+ plugins: [
74
+ (0, import_tailwindcss.default)((0, import_chunk_G3RQ5GOB.tailwindConfig)({
75
+ env: process.env.NODE_ENV,
76
+ content: resolvedContent,
77
+ extensions: options.extensions
78
+ })),
79
+ import_autoprefixer.default
80
+ ]
81
+ }
82
+ })
83
+ ];
84
+ };
85
+ // Annotate the CommonJS export names for ESM import in node:
86
+ 0 && (module.exports = {
87
+ ThemePlugins
88
+ });
89
+ //# sourceMappingURL=esbuild-plugin.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/esbuild-plugin.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2022 DXOS.org\n//\n\nimport autoprefixer from 'autoprefixer';\nimport type { Plugin } from 'esbuild';\nimport stylePlugin from 'esbuild-style-plugin';\nimport { mkdir, cp } from 'node:fs/promises';\nimport { resolve, relative, join, basename } from 'node:path';\nimport tailwindcss from 'tailwindcss';\nimport type { ThemeConfig } from 'tailwindcss/types/config';\n\nimport { tailwindConfig } from './config';\nimport { resolveKnownPeers } from './config/resolveContent';\n\nexport const ThemePlugins = async (options: {\n content: string[];\n root?: string;\n outdir: string;\n extensions?: Partial<ThemeConfig>[];\n}): Promise<Plugin[]> => {\n const resolvedContent = options.root ? await resolveKnownPeers(options.content, options.root) : options.content;\n return [\n // TODO(thure): This really shouldn’t be this way, but after hours of searching for a reasonable way to do this I came up empty. The prior art I found was mainly this thread, though it’s only tangentially related: https://github.com/evanw/esbuild/issues/800#issuecomment-786151076\n {\n name: 'esbuild-plugin-dxos-ui-theme-resolvers',\n setup: async (build) => {\n const fontsDir = join(options.outdir, 'node_modules/@dxos/react-ui-theme/fonts');\n try {\n await mkdir(fontsDir);\n } catch (_err) {}\n build.onResolve({ filter: /\\.woff2$/ }, async (args) => {\n const depPath = resolve(args.resolveDir, args.path);\n const destPath = join(fontsDir, basename(args.path));\n try {\n await cp(depPath, destPath);\n } catch (_err) {}\n return { path: `./${relative(options.outdir, join('fonts', basename(args.path)))}`, external: true };\n });\n },\n },\n // TODO(thure): theme.css must be part of entryPoints in order to be processed with `stylePlugin`, but this should not be necessary. ESBuild would not load theme.css using stylePlugin if referenced within index.ts(x) as with the Vite plugin.\n // TODO(thure): Note also that because it is an entryPoint, the developer has to reference the built theme.css from `index.html`, which is inflexible and possibly inconvenient.\n // TODO(zhenyasav): autoprefixer version misalignment with esbuild-style-plugin requires the `as any`\n stylePlugin({\n postcss: {\n plugins: [\n tailwindcss(\n tailwindConfig({\n env: process.env.NODE_ENV,\n content: resolvedContent,\n extensions: options.extensions,\n }),\n ),\n autoprefixer as any,\n ],\n },\n }),\n ];\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,0BAAyB;AAEzB,kCAAwB;AACxB,sBAA0B;AAC1B,uBAAkD;AAClD,yBAAwB;AAMjB,IAAMA,eAAe,OAAOC,YAAAA;AAMjC,QAAMC,kBAAkBD,QAAQE,OAAO,UAAMC,yCAAkBH,QAAQI,SAASJ,QAAQE,IAAI,IAAIF,QAAQI;AACxG,SAAO;;IAEL;MACEC,MAAM;MACNC,OAAO,OAAOC,UAAAA;AACZ,cAAMC,eAAWC,uBAAKT,QAAQU,QAAQ,yCAAA;AACtC,YAAI;AACF,oBAAMC,uBAAMH,QAAAA;QACd,SAASI,MAAM;QAAC;AAChBL,cAAMM,UAAU;UAAEC,QAAQ;QAAW,GAAG,OAAOC,SAAAA;AAC7C,gBAAMC,cAAUC,0BAAQF,KAAKG,YAAYH,KAAKI,IAAI;AAClD,gBAAMC,eAAWX,uBAAKD,cAAUa,2BAASN,KAAKI,IAAI,CAAA;AAClD,cAAI;AACF,sBAAMG,oBAAGN,SAASI,QAAAA;UACpB,SAASR,MAAM;UAAC;AAChB,iBAAO;YAAEO,MAAM,SAAKI,2BAASvB,QAAQU,YAAQD,uBAAK,aAASY,2BAASN,KAAKI,IAAI,CAAA,CAAA,CAAA;YAAOK,UAAU;UAAK;QACrG,CAAA;MACF;IACF;;;;QAIAC,4BAAAA,SAAY;MACVC,SAAS;QACPC,SAAS;cACPC,mBAAAA,aACEC,sCAAe;YACbC,KAAKC,QAAQD,IAAIE;YACjB5B,SAASH;YACTgC,YAAYjC,QAAQiC;UACtB,CAAA,CAAA;UAEFC,oBAAAA;;MAEJ;IACF,CAAA;;AAEJ;",
6
+ "names": ["ThemePlugins", "options", "resolvedContent", "root", "resolveKnownPeers", "content", "name", "setup", "build", "fontsDir", "join", "outdir", "mkdir", "_err", "onResolve", "filter", "args", "depPath", "resolve", "resolveDir", "path", "destPath", "basename", "cp", "relative", "external", "stylePlugin", "postcss", "plugins", "tailwindcss", "tailwindConfig", "env", "process", "NODE_ENV", "extensions", "autoprefixer"]
7
+ }
@@ -0,0 +1 @@
1
+ {"inputs":{"packages/ui/react-ui-theme/src/config/colors.ts":{"bytes":24501,"imports":[{"path":"@ch-ui/colors","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-theme/src/util/semanticColors.ts":{"bytes":7730,"imports":[{"path":"tailwindcss/plugin","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-theme/src/config/tailwind.ts":{"bytes":25513,"imports":[{"path":"@tailwindcss/forms","kind":"import-statement","external":true},{"path":"lodash.merge","kind":"import-statement","external":true},{"path":"tailwind-scrollbar","kind":"import-statement","external":true},{"path":"tailwindcss/colors","kind":"import-statement","external":true},{"path":"tailwindcss/stubs/config.full.js","kind":"import-statement","external":true},{"path":"tailwindcss-logical","kind":"import-statement","external":true},{"path":"tailwindcss-radix","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-theme/src/config/colors.ts","kind":"import-statement","original":"./colors"},{"path":"packages/ui/react-ui-theme/src/util/semanticColors.ts","kind":"import-statement","original":"../util/semanticColors"}],"format":"esm"},"packages/ui/react-ui-theme/src/config/index.ts":{"bytes":591,"imports":[{"path":"packages/ui/react-ui-theme/src/config/colors.ts","kind":"import-statement","original":"./colors"},{"path":"packages/ui/react-ui-theme/src/config/tailwind.ts","kind":"import-statement","original":"./tailwind"}],"format":"esm"},"packages/ui/react-ui-theme/src/config/resolveContent.ts":{"bytes":6463,"imports":[{"path":"glob","kind":"import-statement","external":true},{"path":"node:util","kind":"import-statement","external":true}],"format":"esm"},"packages/ui/react-ui-theme/src/esbuild-plugin.ts":{"bytes":8605,"imports":[{"path":"autoprefixer","kind":"import-statement","external":true},{"path":"esbuild-style-plugin","kind":"import-statement","external":true},{"path":"node:fs/promises","kind":"import-statement","external":true},{"path":"node:path","kind":"import-statement","external":true},{"path":"tailwindcss","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-theme/src/config/index.ts","kind":"import-statement","original":"./config"},{"path":"packages/ui/react-ui-theme/src/config/resolveContent.ts","kind":"import-statement","original":"./config/resolveContent"}],"format":"esm"},"packages/ui/react-ui-theme/src/plugin.ts":{"bytes":5578,"imports":[{"path":"autoprefixer","kind":"import-statement","external":true},{"path":"node:path","kind":"import-statement","external":true},{"path":"tailwindcss","kind":"import-statement","external":true},{"path":"tailwindcss/nesting","kind":"import-statement","external":true},{"path":"packages/ui/react-ui-theme/src/config/index.ts","kind":"import-statement","original":"./config"},{"path":"packages/ui/react-ui-theme/src/config/resolveContent.ts","kind":"import-statement","original":"./config/resolveContent"}],"format":"esm"},"packages/ui/react-ui-theme/src/styles/layers/anchored-overflow.css":{"bytes":131,"imports":[]},"packages/ui/react-ui-theme/src/styles/layers/attention.css":{"bytes":1252,"imports":[]},"packages/ui/react-ui-theme/src/styles/layers/button.css":{"bytes":2137,"imports":[]},"packages/ui/react-ui-theme/src/styles/layers/can-scroll.css":{"bytes":609,"imports":[]},"packages/ui/react-ui-theme/src/styles/layers/checkbox.css":{"bytes":922,"imports":[]},"packages/ui/react-ui-theme/src/styles/layers/focus-ring.css":{"bytes":466,"imports":[]},"packages/ui/react-ui-theme/src/styles/layers/positioning.css":{"bytes":419,"imports":[]},"packages/ui/react-ui-theme/src/styles/layers/surfaces.css":{"bytes":1078,"imports":[]},"packages/ui/react-ui-theme/src/styles/layers/tldraw.css":{"bytes":3312,"imports":[]},"packages/ui/react-ui-theme/src/styles/layers/typography.css":{"bytes":3186,"imports":[{"path":"@fontsource-variable/jetbrains-mono/wght-italic.css","kind":"import-rule","external":true},{"path":"@fontsource-variable/jetbrains-mono/wght.css","kind":"import-rule","external":true},{"path":"@fontsource-variable/inter/slnt.css","kind":"import-rule","external":true}]},"packages/ui/react-ui-theme/src/styles/layers/index.css":{"bytes":275,"imports":[{"path":"packages/ui/react-ui-theme/src/styles/layers/anchored-overflow.css","kind":"import-rule","original":"./anchored-overflow.css"},{"path":"packages/ui/react-ui-theme/src/styles/layers/attention.css","kind":"import-rule","original":"./attention.css"},{"path":"packages/ui/react-ui-theme/src/styles/layers/button.css","kind":"import-rule","original":"./button.css"},{"path":"packages/ui/react-ui-theme/src/styles/layers/can-scroll.css","kind":"import-rule","original":"./can-scroll.css"},{"path":"packages/ui/react-ui-theme/src/styles/layers/checkbox.css","kind":"import-rule","original":"./checkbox.css"},{"path":"packages/ui/react-ui-theme/src/styles/layers/focus-ring.css","kind":"import-rule","original":"./focus-ring.css"},{"path":"packages/ui/react-ui-theme/src/styles/layers/positioning.css","kind":"import-rule","original":"./positioning.css"},{"path":"packages/ui/react-ui-theme/src/styles/layers/surfaces.css","kind":"import-rule","original":"./surfaces.css"},{"path":"packages/ui/react-ui-theme/src/styles/layers/tldraw.css","kind":"import-rule","original":"./tldraw.css"},{"path":"packages/ui/react-ui-theme/src/styles/layers/typography.css","kind":"import-rule","original":"./typography.css"}]},"packages/ui/react-ui-theme/src/theme.css":{"bytes":1199,"imports":[{"path":"tailwindcss/base","kind":"import-rule","external":true},{"path":"tailwindcss/utilities","kind":"import-rule","external":true},{"path":"tailwindcss/components","kind":"import-rule","external":true},{"path":"packages/ui/react-ui-theme/src/styles/layers/index.css","kind":"import-rule","original":"./styles/layers/index.css"}]}},"outputs":{"packages/ui/react-ui-theme/dist/plugin/node/esbuild-plugin.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4180},"packages/ui/react-ui-theme/dist/plugin/node/esbuild-plugin.cjs":{"imports":[{"path":"packages/ui/react-ui-theme/dist/plugin/node/chunk-G3RQ5GOB.cjs","kind":"import-statement"},{"path":"autoprefixer","kind":"import-statement","external":true},{"path":"esbuild-style-plugin","kind":"import-statement","external":true},{"path":"node:fs/promises","kind":"import-statement","external":true},{"path":"node:path","kind":"import-statement","external":true},{"path":"tailwindcss","kind":"import-statement","external":true}],"exports":["ThemePlugins"],"entryPoint":"packages/ui/react-ui-theme/src/esbuild-plugin.ts","inputs":{"packages/ui/react-ui-theme/src/esbuild-plugin.ts":{"bytesInOutput":2253}},"bytes":2455},"packages/ui/react-ui-theme/dist/plugin/node/plugin.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2846},"packages/ui/react-ui-theme/dist/plugin/node/plugin.cjs":{"imports":[{"path":"packages/ui/react-ui-theme/dist/plugin/node/chunk-G3RQ5GOB.cjs","kind":"import-statement"},{"path":"autoprefixer","kind":"import-statement","external":true},{"path":"node:path","kind":"import-statement","external":true},{"path":"tailwindcss","kind":"import-statement","external":true},{"path":"tailwindcss/nesting","kind":"import-statement","external":true}],"exports":["ThemePlugin"],"entryPoint":"packages/ui/react-ui-theme/src/plugin.ts","inputs":{"packages/ui/react-ui-theme/src/plugin.ts":{"bytesInOutput":975}},"bytes":1160},"packages/ui/react-ui-theme/dist/plugin/node/chunk-G3RQ5GOB.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":29564},"packages/ui/react-ui-theme/dist/plugin/node/chunk-G3RQ5GOB.cjs":{"imports":[{"path":"@tailwindcss/forms","kind":"import-statement","external":true},{"path":"lodash.merge","kind":"import-statement","external":true},{"path":"tailwind-scrollbar","kind":"import-statement","external":true},{"path":"tailwindcss/colors","kind":"import-statement","external":true},{"path":"tailwindcss/stubs/config.full.js","kind":"import-statement","external":true},{"path":"tailwindcss-logical","kind":"import-statement","external":true},{"path":"tailwindcss-radix","kind":"import-statement","external":true},{"path":"@ch-ui/colors","kind":"import-statement","external":true},{"path":"tailwindcss/plugin","kind":"import-statement","external":true},{"path":"glob","kind":"import-statement","external":true},{"path":"node:util","kind":"import-statement","external":true}],"exports":["resolveKnownPeers","tailwindConfig"],"inputs":{"packages/ui/react-ui-theme/src/config/tailwind.ts":{"bytesInOutput":6841},"packages/ui/react-ui-theme/src/config/colors.ts":{"bytesInOutput":6069},"packages/ui/react-ui-theme/src/util/semanticColors.ts":{"bytesInOutput":1511},"packages/ui/react-ui-theme/src/config/index.ts":{"bytesInOutput":0},"packages/ui/react-ui-theme/src/config/resolveContent.ts":{"bytesInOutput":1440}},"bytes":16233},"packages/ui/react-ui-theme/dist/plugin/node/theme.css.map":{"imports":[],"exports":[],"inputs":{},"bytes":22755},"packages/ui/react-ui-theme/dist/plugin/node/theme.css":{"imports":[{"path":"tailwindcss/base","kind":"import-rule","external":true},{"path":"tailwindcss/utilities","kind":"import-rule","external":true},{"path":"tailwindcss/components","kind":"import-rule","external":true},{"path":"@fontsource-variable/jetbrains-mono/wght-italic.css","kind":"import-rule","external":true},{"path":"@fontsource-variable/jetbrains-mono/wght.css","kind":"import-rule","external":true},{"path":"@fontsource-variable/inter/slnt.css","kind":"import-rule","external":true}],"entryPoint":"packages/ui/react-ui-theme/src/theme.css","inputs":{"packages/ui/react-ui-theme/src/styles/layers/anchored-overflow.css":{"bytesInOutput":130},"packages/ui/react-ui-theme/src/styles/layers/attention.css":{"bytesInOutput":1244},"packages/ui/react-ui-theme/src/styles/layers/button.css":{"bytesInOutput":1664},"packages/ui/react-ui-theme/src/styles/layers/can-scroll.css":{"bytesInOutput":602},"packages/ui/react-ui-theme/src/styles/layers/checkbox.css":{"bytesInOutput":604},"packages/ui/react-ui-theme/src/styles/layers/focus-ring.css":{"bytesInOutput":460},"packages/ui/react-ui-theme/src/styles/layers/positioning.css":{"bytesInOutput":418},"packages/ui/react-ui-theme/src/styles/layers/surfaces.css":{"bytesInOutput":1073},"packages/ui/react-ui-theme/src/styles/layers/tldraw.css":{"bytesInOutput":523},"packages/ui/react-ui-theme/src/styles/layers/typography.css":{"bytesInOutput":2738},"packages/ui/react-ui-theme/src/styles/layers/index.css":{"bytesInOutput":0},"packages/ui/react-ui-theme/src/theme.css":{"bytesInOutput":943}},"bytes":11473}}}
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var plugin_exports = {};
30
+ __export(plugin_exports, {
31
+ ThemePlugin: () => ThemePlugin
32
+ });
33
+ module.exports = __toCommonJS(plugin_exports);
34
+ var import_chunk_G3RQ5GOB = require("./chunk-G3RQ5GOB.cjs");
35
+ var import_autoprefixer = __toESM(require("autoprefixer"));
36
+ var import_node_path = require("node:path");
37
+ var import_tailwindcss = __toESM(require("tailwindcss"));
38
+ var import_nesting = __toESM(require("tailwindcss/nesting"));
39
+ var ThemePlugin = (options) => {
40
+ const config = {
41
+ jit: true,
42
+ cssPath: (0, import_node_path.resolve)(__dirname, "./theme.css"),
43
+ virtualFileId: "@dxosTheme",
44
+ ...options
45
+ };
46
+ return {
47
+ name: "vite-plugin-dxos-ui-theme",
48
+ config: async ({ root }, env) => {
49
+ const content = root ? await (0, import_chunk_G3RQ5GOB.resolveKnownPeers)(config.content ?? [], root) : config.content;
50
+ return {
51
+ css: {
52
+ postcss: {
53
+ plugins: [
54
+ import_nesting.default,
55
+ (0, import_tailwindcss.default)((0, import_chunk_G3RQ5GOB.tailwindConfig)({
56
+ env: env.mode,
57
+ content,
58
+ extensions: config.extensions
59
+ })),
60
+ import_autoprefixer.default
61
+ ]
62
+ }
63
+ }
64
+ };
65
+ },
66
+ resolveId: (id) => {
67
+ if (id === config.virtualFileId) {
68
+ return config.cssPath;
69
+ }
70
+ }
71
+ };
72
+ };
73
+ // Annotate the CommonJS export names for ESM import in node:
74
+ 0 && (module.exports = {
75
+ ThemePlugin
76
+ });
77
+ //# sourceMappingURL=plugin.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/plugin.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2022 DXOS.org\n//\n\nimport autoprefixer from 'autoprefixer';\nimport { resolve } from 'node:path';\nimport tailwindcss from 'tailwindcss';\nimport nesting from 'tailwindcss/nesting';\nimport type { ThemeConfig } from 'tailwindcss/types/config';\nimport { type Plugin } from 'vite';\n\nimport { tailwindConfig } from './config';\nimport { resolveKnownPeers } from './config/resolveContent';\n\nexport interface VitePluginTailwindOptions {\n jit?: boolean;\n cssPath?: string;\n virtualFileId?: string;\n content?: string[];\n root?: string;\n}\n\n// TODO(zhenyasav): Make it easy to override the tailwind config.\n// TODO(zhenyasav): Make it easy to add postcss plugins?\nexport const ThemePlugin = (\n options: Pick<VitePluginTailwindOptions, 'content' | 'root'> & { extensions?: Partial<ThemeConfig>[] },\n) => {\n const config: VitePluginTailwindOptions & Pick<typeof options, 'extensions'> = {\n jit: true,\n cssPath: resolve(__dirname, './theme.css'),\n virtualFileId: '@dxosTheme', // TODO(burdon): Rename '@dxos-theme'?\n ...options,\n };\n\n return {\n name: 'vite-plugin-dxos-ui-theme',\n config: async ({ root }, env) => {\n const content = root ? await resolveKnownPeers(config.content ?? [], root) : config.content;\n return {\n css: {\n postcss: {\n plugins: [\n nesting,\n tailwindcss(\n tailwindConfig({\n env: env.mode,\n content,\n extensions: config.extensions,\n }),\n ),\n autoprefixer,\n ],\n },\n },\n };\n },\n resolveId: (id) => {\n if (id === config.virtualFileId) {\n return config.cssPath;\n }\n },\n } as Plugin;\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,0BAAyB;AACzB,uBAAwB;AACxB,yBAAwB;AACxB,qBAAoB;AAiBb,IAAMA,cAAc,CACzBC,YAAAA;AAEA,QAAMC,SAAyE;IAC7EC,KAAK;IACLC,aAASC,0BAAQC,WAAW,aAAA;IAC5BC,eAAe;IACf,GAAGN;EACL;AAEA,SAAO;IACLO,MAAM;IACNN,QAAQ,OAAO,EAAEO,KAAI,GAAIC,QAAAA;AACvB,YAAMC,UAAUF,OAAO,UAAMG,yCAAkBV,OAAOS,WAAW,CAAA,GAAIF,IAAAA,IAAQP,OAAOS;AACpF,aAAO;QACLE,KAAK;UACHC,SAAS;YACPC,SAAS;cACPC,eAAAA;kBACAC,mBAAAA,aACEC,sCAAe;gBACbR,KAAKA,IAAIS;gBACTR;gBACAS,YAAYlB,OAAOkB;cACrB,CAAA,CAAA;cAEFC,oBAAAA;;UAEJ;QACF;MACF;IACF;IACAC,WAAW,CAACC,OAAAA;AACV,UAAIA,OAAOrB,OAAOK,eAAe;AAC/B,eAAOL,OAAOE;MAChB;IACF;EACF;AACF;",
6
+ "names": ["ThemePlugin", "options", "config", "jit", "cssPath", "resolve", "__dirname", "virtualFileId", "name", "root", "env", "content", "resolveKnownPeers", "css", "postcss", "plugins", "nesting", "tailwindcss", "tailwindConfig", "mode", "extensions", "autoprefixer", "resolveId", "id"]
7
+ }