@graphprotocol/gds-css 0.1.2 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/dist/component-registry.d.ts +112 -40
  2. package/dist/component-registry.d.ts.map +1 -1
  3. package/dist/component-registry.js +42 -7
  4. package/dist/component-registry.js.map +1 -1
  5. package/dist/css-props/index.d.ts +1 -1
  6. package/dist/css-props/index.d.ts.map +1 -1
  7. package/dist/css-props/index.js +1 -1
  8. package/dist/css-props/index.js.map +1 -1
  9. package/dist/css-props/parseCSSPropValue.js +1 -1
  10. package/dist/css-props/parseCSSPropValue.js.map +1 -1
  11. package/dist/css-props/setupCSSProps.d.ts +7 -0
  12. package/dist/css-props/setupCSSProps.d.ts.map +1 -0
  13. package/dist/css-props/{registerCSSProps.js → setupCSSProps.js} +30 -42
  14. package/dist/css-props/setupCSSProps.js.map +1 -0
  15. package/dist/css-states/index.d.ts +1 -1
  16. package/dist/css-states/index.d.ts.map +1 -1
  17. package/dist/css-states/index.js +1 -1
  18. package/dist/css-states/index.js.map +1 -1
  19. package/dist/css-states/setupCSSStates.d.ts +20 -0
  20. package/dist/css-states/setupCSSStates.d.ts.map +1 -0
  21. package/dist/css-states/{registerCSSStates.js → setupCSSStates.js} +21 -18
  22. package/dist/css-states/setupCSSStates.js.map +1 -0
  23. package/dist/css-states/states.d.ts +1 -0
  24. package/dist/css-states/states.d.ts.map +1 -1
  25. package/dist/css-states/states.js +2 -1
  26. package/dist/css-states/states.js.map +1 -1
  27. package/dist/tailwind-customizations/index.d.ts +2 -2
  28. package/dist/tailwind-customizations/index.d.ts.map +1 -1
  29. package/dist/tailwind-customizations/index.js +2 -2
  30. package/dist/tailwind-customizations/index.js.map +1 -1
  31. package/dist/tailwind-customizations/setupComponents.d.ts +8 -0
  32. package/dist/tailwind-customizations/setupComponents.d.ts.map +1 -0
  33. package/dist/tailwind-customizations/setupComponents.js +75 -0
  34. package/dist/tailwind-customizations/setupComponents.js.map +1 -0
  35. package/dist/tailwind-customizations/setupVariants.d.ts +8 -0
  36. package/dist/tailwind-customizations/setupVariants.d.ts.map +1 -0
  37. package/dist/tailwind-customizations/{registerVariants.js → setupVariants.js} +7 -7
  38. package/dist/tailwind-customizations/setupVariants.js.map +1 -0
  39. package/dist/tailwind-customizations/variants.d.ts.map +1 -1
  40. package/dist/tailwind-customizations/variants.js.map +1 -1
  41. package/dist/tailwind-plugin.js +7 -7
  42. package/dist/tailwind-plugin.js.map +1 -1
  43. package/dist/utils/cssUnescape.d.ts +5 -3
  44. package/dist/utils/cssUnescape.d.ts.map +1 -1
  45. package/dist/utils/cssUnescape.js +5 -3
  46. package/dist/utils/cssUnescape.js.map +1 -1
  47. package/package.json +5 -5
  48. package/src/component-registry.ts +205 -71
  49. package/src/css-props/index.ts +1 -1
  50. package/src/css-props/parseCSSPropValue.ts +1 -1
  51. package/src/css-props/{registerCSSProps.ts → setupCSSProps.ts} +31 -46
  52. package/src/css-states/index.ts +1 -1
  53. package/src/css-states/{registerCSSStates.ts → setupCSSStates.ts} +20 -17
  54. package/src/css-states/states.ts +2 -1
  55. package/src/tailwind-customizations/index.ts +2 -2
  56. package/src/tailwind-customizations/setupComponents.ts +87 -0
  57. package/src/tailwind-customizations/{registerVariants.ts → setupVariants.ts} +6 -6
  58. package/src/tailwind-customizations/variants.ts +9 -15
  59. package/src/tailwind-plugin.ts +7 -7
  60. package/src/utils/cssUnescape.ts +5 -3
  61. package/styles/global.css +2 -2
  62. package/styles/typography.css +27 -14
  63. package/styles/utilities.css +9 -0
  64. package/dist/css-props/registerCSSProps.d.ts +0 -7
  65. package/dist/css-props/registerCSSProps.d.ts.map +0 -1
  66. package/dist/css-props/registerCSSProps.js.map +0 -1
  67. package/dist/css-states/registerCSSStates.d.ts +0 -23
  68. package/dist/css-states/registerCSSStates.d.ts.map +0 -1
  69. package/dist/css-states/registerCSSStates.js.map +0 -1
  70. package/dist/tailwind-customizations/registerUtilities.d.ts +0 -9
  71. package/dist/tailwind-customizations/registerUtilities.d.ts.map +0 -1
  72. package/dist/tailwind-customizations/registerUtilities.js +0 -59
  73. package/dist/tailwind-customizations/registerUtilities.js.map +0 -1
  74. package/dist/tailwind-customizations/registerVariants.d.ts +0 -8
  75. package/dist/tailwind-customizations/registerVariants.d.ts.map +0 -1
  76. package/dist/tailwind-customizations/registerVariants.js.map +0 -1
  77. package/src/tailwind-customizations/registerUtilities.ts +0 -65
@@ -0,0 +1,87 @@
1
+ import type { DeepRecord } from '@graphprotocol/gds-utils'
2
+
3
+ import { getRegisteredComponents } from '../component-registry.ts'
4
+ import type { PluginAPI } from '../types.ts'
5
+
6
+ /**
7
+ * Sets up registered components via the Tailwind plugin. This includes base styles that vary
8
+ * depending on the options used in `createComponent`: container(s) for style/size/scroll queries,
9
+ * stacking context and more for style isolation, and vars for advanced style customizations.
10
+ */
11
+ export function setupComponents(api: PluginAPI) {
12
+ for (const component of getRegisteredComponents()) {
13
+ api.addBase({
14
+ '@layer components': {
15
+ [`.${component.className}`]: {
16
+ 'container-name': component.getContainerNameChain().join(' ') || {},
17
+ ...(component.isolate && {
18
+ isolation: 'isolate',
19
+ ...(component.isolate !== 'allow-inheritance' && {
20
+ color: 'var(--text-color-default)',
21
+ // font: font-style font-variant font-weight font-stretch font-size/line-height font-family
22
+ font: 'normal normal var(--font-weight-regular) normal var(--text-16)/var(--leading-normal) var(--font-sans)',
23
+ 'font-feature-settings': 'initial',
24
+ 'font-variation-settings': 'initial',
25
+ 'letter-spacing': 'initial',
26
+ 'word-spacing': 'initial',
27
+ 'text-align': 'initial',
28
+ 'text-transform': 'initial',
29
+ 'text-indent': 'initial',
30
+ 'white-space': 'initial',
31
+ }),
32
+ }),
33
+ ...(component.vars && {
34
+ ...Object.fromEntries(
35
+ Object.keys(component.vars).map((varName) => [`--gds-var-${varName}`, 'initial']),
36
+ ),
37
+ ...Object.fromEntries(
38
+ (['&', '& > *'] as const).map((selector) => [
39
+ selector,
40
+ Object.entries(component.vars!).flatMap(([varName, varCSS]) => {
41
+ const requiresNestedSelector = typeof varCSS === 'object'
42
+ if (
43
+ (requiresNestedSelector && selector === '&') ||
44
+ (!requiresNestedSelector && selector === '& > *')
45
+ ) {
46
+ return []
47
+ }
48
+ function getDefaultVarRule(cssOrValue: typeof varCSS): DeepRecord<string> {
49
+ if (!cssOrValue) {
50
+ return {}
51
+ }
52
+ if (typeof cssOrValue === 'string') {
53
+ return {
54
+ [`--gds-default-${varName}`]: cssOrValue,
55
+ }
56
+ }
57
+ return Object.fromEntries(
58
+ Object.entries(cssOrValue).map(([selector, nestedCSSOrValue]) => {
59
+ return [selector || '&', getDefaultVarRule(nestedCSSOrValue)]
60
+ }),
61
+ )
62
+ }
63
+ return [
64
+ getDefaultVarRule(varCSS),
65
+ {
66
+ [`--gds-${component.kebabName}-${varName}`]: `var(--gds-var-${varName}, var(--gds-default-${varName}))`,
67
+ },
68
+ ]
69
+ }),
70
+ ]),
71
+ ),
72
+ }),
73
+ },
74
+ },
75
+ })
76
+ }
77
+
78
+ /** Register `var-[var=value]` utilities to override default var values. */
79
+ api.matchUtilities({
80
+ var: (varNameAndValue) => {
81
+ const [varName, ...valueParts] = varNameAndValue.split('=')
82
+ return {
83
+ [`--gds-var-${varName}`]: valueParts.join('='),
84
+ }
85
+ },
86
+ })
87
+ }
@@ -50,11 +50,11 @@ function addSimpleVariant(
50
50
  }
51
51
 
52
52
  /**
53
- * Registers custom variants in the Tailwind plugin. Since Tailwind 4 it is preferable to do this in
54
- * CSS, and we do it whenever we can (see `variants.css`), but `@custom-variant` doesn't support
55
- * dynamic variants or modifiers.
53
+ * Sets up custom variants via the Tailwind plugin, in addition to those defined in CSS (see
54
+ * `variants.css`). This includes all variants that are too complex or dynamic for
55
+ * `@custom-variant`, which notably doesn't support modifiers.
56
56
  */
57
- export function registerVariants(api: PluginAPI) {
57
+ export function setupVariants(api: PluginAPI) {
58
58
  const variantSelectors = getVariantSelectors()
59
59
  const registeredComponents = getRegisteredComponents()
60
60
  const componentKebabNames = new Set(registeredComponents.map((component) => component.kebabName))
@@ -63,7 +63,7 @@ export function registerVariants(api: PluginAPI) {
63
63
  includePositional: !IS_INTELLISENSE,
64
64
  })
65
65
 
66
- /** Register the base variants, including some overrides required by the CSS States system. */
66
+ /** Register the base variants, including some overrides required by the CSS states system. */
67
67
  for (const [variant, selector] of objectEntries(variantSelectors)) {
68
68
  addSimpleVariant(api, variant, selector, variant === 'clickable')
69
69
  }
@@ -218,7 +218,7 @@ export function registerVariants(api: PluginAPI) {
218
218
  )
219
219
  .join(' or ')})`,
220
220
  ]
221
- // Fallback selector for browsers without style query support; see `css-props/registerCSSProps.ts` for more details
221
+ // Fallback selector for browsers without style query support; see `setupCSSProps` for more details
222
222
  const onlyEnabledClickables =
223
223
  states.includes('hover') || states.includes('active') || states.includes('focus')
224
224
  selectors.push(
@@ -105,21 +105,15 @@ const positionalVariants = ['first', 'last', 'only', 'odd', 'even', 'inert'] as
105
105
  /** Generate positional variant selectors (`{prefix}-first`, `{prefix}-last`, etc.) */
106
106
  function generatePositionalVariantSelectors(prefix: string, baseSelector: string) {
107
107
  return {
108
- ...positionalVariants.reduce(
109
- (result, variant) => {
110
- result[`${prefix}-not-${variant}`] =
111
- `${baseSelector}${wrapSelector(':not', staticVariantSelectors[variant])}`
112
- return result
113
- },
114
- {} as Record<string, string>,
115
- ),
116
- ...positionalVariants.reduce(
117
- (result, variant) => {
118
- result[`${prefix}-${variant}`] = `${baseSelector}${staticVariantSelectors[variant]}`
119
- return result
120
- },
121
- {} as Record<string, string>,
122
- ),
108
+ ...positionalVariants.reduce<Record<string, string>>((result, variant) => {
109
+ result[`${prefix}-not-${variant}`] =
110
+ `${baseSelector}${wrapSelector(':not', staticVariantSelectors[variant])}`
111
+ return result
112
+ }, {}),
113
+ ...positionalVariants.reduce<Record<string, string>>((result, variant) => {
114
+ result[`${prefix}-${variant}`] = `${baseSelector}${staticVariantSelectors[variant]}`
115
+ return result
116
+ }, {}),
123
117
  }
124
118
  }
125
119
 
@@ -1,14 +1,14 @@
1
1
  import createPlugin from 'tailwindcss/plugin'
2
2
 
3
- import { registerCSSProps } from './css-props/registerCSSProps.ts'
4
- import { registerCSSStates } from './css-states/registerCSSStates.ts'
5
- import { registerUtilities, registerVariants } from './tailwind-customizations/index.ts'
3
+ import { setupCSSProps } from './css-props/setupCSSProps.ts'
4
+ import { setupCSSStates } from './css-states/setupCSSStates.ts'
5
+ import { setupComponents, setupVariants } from './tailwind-customizations/index.ts'
6
6
 
7
7
  const gdsTailwindPlugin: ReturnType<typeof createPlugin> = createPlugin((api) => {
8
- registerUtilities(api)
9
- registerVariants(api)
10
- registerCSSStates(api)
11
- registerCSSProps(api)
8
+ setupComponents(api)
9
+ setupVariants(api)
10
+ setupCSSStates(api)
11
+ setupCSSProps(api)
12
12
  })
13
13
 
14
14
  export default gdsTailwindPlugin
@@ -9,9 +9,11 @@
9
9
  *
10
10
  * @example
11
11
  *
12
- * cssUnescape('foo\.bar') // 'foo.bar'
13
- * cssUnescape('hello\20world') // 'hello world'
14
- * cssUnescape('test\2d case') // 'test-case'
12
+ * ```ts
13
+ * cssUnescape('foo\.bar') // 'foo.bar'
14
+ * cssUnescape('hello\20world') // 'hello world'
15
+ * cssUnescape('test\2d case') // 'test-case'
16
+ * ```
15
17
  *
16
18
  * @param input - The CSS-escaped string to unescape.
17
19
  * @returns The unescaped string.
package/styles/global.css CHANGED
@@ -149,7 +149,7 @@
149
149
  * `max-width: 100%`, since it allows resizing images/videos that have `width` and `height` HTML attributes just by
150
150
  * changing their width in CSS without distorting their aspect ratio. For some reason however, Preflight doesn't apply
151
151
  * the same to SVGs even though they also accept `width` and `height` attributes and have an intrinsic aspect ratio.
152
- * So we add it here. TODO: Remove if this PR gets merged and released: https://github.com/tailwindlabs/tailwindcss/pull/19368
152
+ * So we add it here.
153
153
  */
154
154
  svg {
155
155
  @apply h-auto;
@@ -169,7 +169,7 @@
169
169
  ::file-selector-button,
170
170
  label {
171
171
  @apply block; /* We almost never want inline form elements, including labels */
172
- /* TODO: Remove if this PR gets merged and released: https://github.com/tailwindlabs/tailwindcss/pull/19369 */
172
+ word-spacing: inherit;
173
173
  text-align: inherit;
174
174
  text-transform: inherit;
175
175
  }
@@ -74,18 +74,6 @@
74
74
  --tracking-caption: 0.15em;
75
75
  }
76
76
 
77
- /* Redefine the `normal` and `loose` leadings for every font size utility */
78
- @utility text-* {
79
- --gds-font-size: --value(--text-*, [length]);
80
- --leading-normal: --value(--text-* --line-height);
81
- --leading-loose: --value(--text-* --line-height--loose);
82
- /**
83
- * Ensure changing the font size without specifying a leading uses the last specified one.
84
- * This makes `prose text-16` work without `text-16` overriding the `loose` leading from `prose`.
85
- */
86
- --tw-leading: --modifier(--leading-*);
87
- }
88
-
89
77
  /* Redefine the `lighter` and `bolder` font weights for every font weight utility */
90
78
  @utility font-* {
91
79
  --gds-font-weight: --value(--font-weight-*, [integer], [weight]);
@@ -111,6 +99,31 @@
111
99
  }
112
100
  }
113
101
 
102
+ /* Redefine the `normal` and `loose` leadings for every font size utility */
103
+ @utility text-* {
104
+ --gds-font-size: --value(--text-*, [length]);
105
+ --leading-normal: --value(--text-* --line-height);
106
+ --leading-loose: --value(--text-* --line-height--loose);
107
+ /**
108
+ * Ensure changing the font size without specifying a leading uses the last specified one.
109
+ * This makes `prose text-16` work without `text-16` overriding the `loose` leading from `prose`.
110
+ */
111
+ --tw-leading: --modifier(--leading-*);
112
+ }
113
+
114
+ /**
115
+ * Add a `text-size-inherit` utility to reset the font size to inherit (`text-inherit` already
116
+ * exists by default, and it resets the color).
117
+ */
118
+ @utility text-size-inherit {
119
+ font-size: inherit;
120
+ line-height: inherit;
121
+ --gds-font-size: inherit;
122
+ --leading-normal: inherit;
123
+ --leading-loose: inherit;
124
+ --tw-leading: inherit;
125
+ }
126
+
114
127
  /**
115
128
  * Extend the default `italic` and `not-italic` utilities to work around Safari rendering issues.
116
129
  * Safari needs manual `slnt` and `ital` axis settings to properly render a variable font in italic.
@@ -125,12 +138,12 @@
125
138
  font-variation-settings: initial;
126
139
  }
127
140
 
128
- /* Caption text style */
141
+ /* Helper utility to apply the "caption" text style (all caps with letter spacing) */
129
142
  @utility text-caption {
130
143
  @apply tracking-caption uppercase;
131
144
  }
132
145
 
133
- /* Add a `prose` class to style long-form content with basic spacing and typography defaults */
146
+ /* Component class to style long-form content with basic spacing and typography defaults */
134
147
  @layer base.components {
135
148
  .prose {
136
149
  @apply text-18/loose text-muted;
@@ -54,6 +54,15 @@
54
54
  display: var(--gds-display-none, var(--gds-display-outside) var(--gds-display-inside));
55
55
  }
56
56
  }
57
+ @utility root-contents {
58
+ @variant u {
59
+ --gds-display-outside: block;
60
+ --gds-display-none: initial;
61
+ }
62
+ @variant i {
63
+ display: var(--gds-display-none, contents);
64
+ }
65
+ }
57
66
 
58
67
  /**
59
68
  * Extend the display utilities to support the `root-{display}` utilities.
@@ -1,7 +0,0 @@
1
- import type { PluginAPI } from '../types.ts';
2
- /**
3
- * Registers CSS Props functionality in the Tailwind plugin. This includes custom properties,
4
- * utilities, and variants for prop-based styling.
5
- */
6
- export declare function registerCSSProps(api: PluginAPI): void;
7
- //# sourceMappingURL=registerCSSProps.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registerCSSProps.d.ts","sourceRoot":"","sources":["../../src/css-props/registerCSSProps.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAI5C;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,SAAS,QAgQ9C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"registerCSSProps.js","sourceRoot":"","sources":["../../src/css-props/registerCSSProps.ts"],"names":[],"mappings":"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"}
@@ -1,23 +0,0 @@
1
- import type { PluginAPI } from '../types.ts';
2
- /**
3
- * Registers CSS States functionality in the Tailwind plugin.
4
- *
5
- * This system abstracts away CSS's native states in order to:
6
- *
7
- * - Allow overriding the state of components (e.g. `<Button className="state-active" />`).
8
- * - Allow reading the state of components from their root element even when the native state is
9
- * actually on a nested element (e.g. `group-has-checkbox-checked`), thanks to
10
- * `variants/plugin.ts` overriding some of Tailwind's built-in variants.
11
- * - Allow setting and reading custom states for DRY purposes (e.g. `active:state-[highlighted]` and
12
- * `data-[highlighted]:state-[highlighted]` on a parent element and
13
- * `@state-[highlighted]:bg-strong` on a child; also supports key-values like `state-[foo=bar]
14
- * lg:state-[foo=baz]`).
15
- *
16
- * While this system is separate from the CSS Props one, it also leverages style queries and relies
17
- * on the fact that component classes (e.g. `gds-button`) establish a container that can be queried.
18
- * Furthermore, it uses some of the same techniques in the fallback implementation (querying by data
19
- * attribute, `view-transition-name` to target browsers that don't support style queries, etc.),
20
- * though the CSS props polyfill is not used. See `useCSSState` for more details.
21
- */
22
- export declare function registerCSSStates(api: PluginAPI): void;
23
- //# sourceMappingURL=registerCSSStates.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registerCSSStates.d.ts","sourceRoot":"","sources":["../../src/css-states/registerCSSStates.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAG5C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,SAAS,QA6G/C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"registerCSSStates.js","sourceRoot":"","sources":["../../src/css-states/registerCSSStates.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- import type { PluginAPI } from '../types.ts';
2
- /**
3
- * Registers custom utilities and extends/overrides some built-in ones in the Tailwind plugin. Since
4
- * Tailwind 4 it is preferable to do this in CSS, and we do it whenever we can (see
5
- * `utilities.css`), but `@utility` doesn't support all use cases (e.g. advanced conditions, string
6
- * manipulation, etc.).
7
- */
8
- export declare function registerUtilities(api: PluginAPI): void;
9
- //# sourceMappingURL=registerUtilities.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registerUtilities.d.ts","sourceRoot":"","sources":["../../src/tailwind-customizations/registerUtilities.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAE5C;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,SAAS,QAqD/C"}
@@ -1,59 +0,0 @@
1
- import { getRegisteredComponents } from "../component-registry.js";
2
- /**
3
- * Registers custom utilities and extends/overrides some built-in ones in the Tailwind plugin. Since
4
- * Tailwind 4 it is preferable to do this in CSS, and we do it whenever we can (see
5
- * `utilities.css`), but `@utility` doesn't support all use cases (e.g. advanced conditions, string
6
- * manipulation, etc.).
7
- */
8
- export function registerUtilities(api) {
9
- /**
10
- * Apply the default "var" values for registered components, and register `var-[var=value]`
11
- * utilities to override them.
12
- */
13
- for (const component of getRegisteredComponents()) {
14
- if (!component.vars)
15
- continue;
16
- api.addBase({
17
- '@layer components': {
18
- [`.${component.className}`]: {
19
- ...Object.fromEntries(Object.keys(component.vars).map((varName) => {
20
- return [`--gds-var-${varName}`, 'initial'];
21
- })),
22
- '& > *': {
23
- '&': Object.entries(component.vars).flatMap(([varName, varCSS]) => {
24
- function getDefaultVarRule(cssOrValue) {
25
- if (!cssOrValue) {
26
- return {};
27
- }
28
- if (typeof cssOrValue === 'string') {
29
- return {
30
- [`--gds-default-${varName}`]: cssOrValue,
31
- };
32
- }
33
- return Object.fromEntries(Object.entries(cssOrValue).map(([selector, nestedCSSOrValue]) => {
34
- return [selector || '&', getDefaultVarRule(nestedCSSOrValue)];
35
- }));
36
- }
37
- return [
38
- getDefaultVarRule(varCSS),
39
- {
40
- [`--gds-${component.kebabName}-${varName}`]: `var(--gds-var-${varName}, var(--gds-default-${varName}))`,
41
- },
42
- ];
43
- }),
44
- },
45
- },
46
- },
47
- });
48
- }
49
- api.matchUtilities({
50
- var: (varNameAndValue) => {
51
- const [varName, ...valueParts] = varNameAndValue.split('=');
52
- const value = valueParts.join('');
53
- return {
54
- [`--gds-var-${varName}`]: value,
55
- };
56
- },
57
- });
58
- }
59
- //# sourceMappingURL=registerUtilities.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registerUtilities.js","sourceRoot":"","sources":["../../src/tailwind-customizations/registerUtilities.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAA;AAGlE;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAc;IAC9C;;;OAGG;IACH,KAAK,MAAM,SAAS,IAAI,uBAAuB,EAAE,EAAE,CAAC;QAClD,IAAI,CAAC,SAAS,CAAC,IAAI;YAAE,SAAQ;QAC7B,GAAG,CAAC,OAAO,CAAC;YACV,mBAAmB,EAAE;gBACnB,CAAC,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC,EAAE;oBAC3B,GAAG,MAAM,CAAC,WAAW,CACnB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;wBAC1C,OAAO,CAAC,aAAa,OAAO,EAAE,EAAE,SAAS,CAAC,CAAA;oBAC5C,CAAC,CAAC,CACH;oBACD,OAAO,EAAE;wBACP,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE;4BAChE,SAAS,iBAAiB,CAAC,UAAyB;gCAClD,IAAI,CAAC,UAAU,EAAE,CAAC;oCAChB,OAAO,EAAE,CAAA;gCACX,CAAC;gCACD,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;oCACnC,OAAO;wCACL,CAAC,iBAAiB,OAAO,EAAE,CAAC,EAAE,UAAU;qCACzC,CAAA;gCACH,CAAC;gCACD,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,gBAAgB,CAAC,EAAE,EAAE;oCAC9D,OAAO,CAAC,QAAQ,IAAI,GAAG,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,CAAC,CAAA;gCAC/D,CAAC,CAAC,CACH,CAAA;4BACH,CAAC;4BACD,OAAO;gCACL,iBAAiB,CAAC,MAAM,CAAC;gCACzB;oCACE,CAAC,SAAS,SAAS,CAAC,SAAS,IAAI,OAAO,EAAE,CAAC,EAAE,iBAAiB,OAAO,uBAAuB,OAAO,IAAI;iCACxG;6BACF,CAAA;wBACH,CAAC,CAAC;qBACH;iBACF;aACF;SACF,CAAC,CAAA;IACJ,CAAC;IACD,GAAG,CAAC,cAAc,CAAC;QACjB,GAAG,EAAE,CAAC,eAAe,EAAE,EAAE;YACvB,MAAM,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAC3D,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YACjC,OAAO;gBACL,CAAC,aAAa,OAAO,EAAE,CAAC,EAAE,KAAK;aAChC,CAAA;QACH,CAAC;KACF,CAAC,CAAA;AACJ,CAAC"}
@@ -1,8 +0,0 @@
1
- import type { PluginAPI } from '../types.ts';
2
- /**
3
- * Registers custom variants in the Tailwind plugin. Since Tailwind 4 it is preferable to do this in
4
- * CSS, and we do it whenever we can (see `variants.css`), but `@custom-variant` doesn't support
5
- * dynamic variants or modifiers.
6
- */
7
- export declare function registerVariants(api: PluginAPI): void;
8
- //# sourceMappingURL=registerVariants.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registerVariants.d.ts","sourceRoot":"","sources":["../../src/tailwind-customizations/registerVariants.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AA8C5C;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,SAAS,QA+O9C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"registerVariants.js","sourceRoot":"","sources":["../../src/tailwind-customizations/registerVariants.ts"],"names":[],"mappings":"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"}
@@ -1,65 +0,0 @@
1
- import type { DeepRecord } from '@graphprotocol/gds-utils'
2
-
3
- import { getRegisteredComponents } from '../component-registry.ts'
4
- import type { PluginAPI } from '../types.ts'
5
-
6
- /**
7
- * Registers custom utilities and extends/overrides some built-in ones in the Tailwind plugin. Since
8
- * Tailwind 4 it is preferable to do this in CSS, and we do it whenever we can (see
9
- * `utilities.css`), but `@utility` doesn't support all use cases (e.g. advanced conditions, string
10
- * manipulation, etc.).
11
- */
12
- export function registerUtilities(api: PluginAPI) {
13
- /**
14
- * Apply the default "var" values for registered components, and register `var-[var=value]`
15
- * utilities to override them.
16
- */
17
- for (const component of getRegisteredComponents()) {
18
- if (!component.vars) continue
19
- api.addBase({
20
- '@layer components': {
21
- [`.${component.className}`]: {
22
- ...Object.fromEntries(
23
- Object.keys(component.vars).map((varName) => {
24
- return [`--gds-var-${varName}`, 'initial']
25
- }),
26
- ),
27
- '& > *': {
28
- '&': Object.entries(component.vars).flatMap(([varName, varCSS]) => {
29
- function getDefaultVarRule(cssOrValue: typeof varCSS): DeepRecord<string> {
30
- if (!cssOrValue) {
31
- return {}
32
- }
33
- if (typeof cssOrValue === 'string') {
34
- return {
35
- [`--gds-default-${varName}`]: cssOrValue,
36
- }
37
- }
38
- return Object.fromEntries(
39
- Object.entries(cssOrValue).map(([selector, nestedCSSOrValue]) => {
40
- return [selector || '&', getDefaultVarRule(nestedCSSOrValue)]
41
- }),
42
- )
43
- }
44
- return [
45
- getDefaultVarRule(varCSS),
46
- {
47
- [`--gds-${component.kebabName}-${varName}`]: `var(--gds-var-${varName}, var(--gds-default-${varName}))`,
48
- },
49
- ]
50
- }),
51
- },
52
- },
53
- },
54
- })
55
- }
56
- api.matchUtilities({
57
- var: (varNameAndValue) => {
58
- const [varName, ...valueParts] = varNameAndValue.split('=')
59
- const value = valueParts.join('')
60
- return {
61
- [`--gds-var-${varName}`]: value,
62
- }
63
- },
64
- })
65
- }