@graphprotocol/gds-css 0.0.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 (136) hide show
  1. package/README.md +80 -0
  2. package/dist/component-registry.d.ts +90 -0
  3. package/dist/component-registry.d.ts.map +1 -0
  4. package/dist/component-registry.js +93 -0
  5. package/dist/component-registry.js.map +1 -0
  6. package/dist/css-props/getCSSPropRawValue.d.ts +4 -0
  7. package/dist/css-props/getCSSPropRawValue.d.ts.map +1 -0
  8. package/dist/css-props/getCSSPropRawValue.js +41 -0
  9. package/dist/css-props/getCSSPropRawValue.js.map +1 -0
  10. package/dist/css-props/index.d.ts +5 -0
  11. package/dist/css-props/index.d.ts.map +1 -0
  12. package/dist/css-props/index.js +5 -0
  13. package/dist/css-props/index.js.map +1 -0
  14. package/dist/css-props/parseCSSPropValue.d.ts +7 -0
  15. package/dist/css-props/parseCSSPropValue.d.ts.map +1 -0
  16. package/dist/css-props/parseCSSPropValue.js +70 -0
  17. package/dist/css-props/parseCSSPropValue.js.map +1 -0
  18. package/dist/css-props/registerCSSProps.d.ts +7 -0
  19. package/dist/css-props/registerCSSProps.d.ts.map +1 -0
  20. package/dist/css-props/registerCSSProps.js +231 -0
  21. package/dist/css-props/registerCSSProps.js.map +1 -0
  22. package/dist/css-props/types.d.ts +29 -0
  23. package/dist/css-props/types.d.ts.map +1 -0
  24. package/dist/css-props/types.js +2 -0
  25. package/dist/css-props/types.js.map +1 -0
  26. package/dist/css-states/index.d.ts +3 -0
  27. package/dist/css-states/index.d.ts.map +1 -0
  28. package/dist/css-states/index.js +3 -0
  29. package/dist/css-states/index.js.map +1 -0
  30. package/dist/css-states/registerCSSStates.d.ts +23 -0
  31. package/dist/css-states/registerCSSStates.d.ts.map +1 -0
  32. package/dist/css-states/registerCSSStates.js +119 -0
  33. package/dist/css-states/registerCSSStates.js.map +1 -0
  34. package/dist/css-states/states.d.ts +71 -0
  35. package/dist/css-states/states.d.ts.map +1 -0
  36. package/dist/css-states/states.js +140 -0
  37. package/dist/css-states/states.js.map +1 -0
  38. package/dist/design-tokens.generated.d.ts +1167 -0
  39. package/dist/design-tokens.generated.d.ts.map +1 -0
  40. package/dist/design-tokens.generated.js +2675 -0
  41. package/dist/design-tokens.generated.js.map +1 -0
  42. package/dist/index.d.ts +7 -0
  43. package/dist/index.d.ts.map +1 -0
  44. package/dist/index.js +7 -0
  45. package/dist/index.js.map +1 -0
  46. package/dist/tailwind-customizations/index.d.ts +3 -0
  47. package/dist/tailwind-customizations/index.d.ts.map +1 -0
  48. package/dist/tailwind-customizations/index.js +3 -0
  49. package/dist/tailwind-customizations/index.js.map +1 -0
  50. package/dist/tailwind-customizations/registerUtilities.d.ts +9 -0
  51. package/dist/tailwind-customizations/registerUtilities.d.ts.map +1 -0
  52. package/dist/tailwind-customizations/registerUtilities.js +59 -0
  53. package/dist/tailwind-customizations/registerUtilities.js.map +1 -0
  54. package/dist/tailwind-customizations/registerVariants.d.ts +8 -0
  55. package/dist/tailwind-customizations/registerVariants.d.ts.map +1 -0
  56. package/dist/tailwind-customizations/registerVariants.js +197 -0
  57. package/dist/tailwind-customizations/registerVariants.js.map +1 -0
  58. package/dist/tailwind-customizations/variants.d.ts +72 -0
  59. package/dist/tailwind-customizations/variants.d.ts.map +1 -0
  60. package/dist/tailwind-customizations/variants.js +153 -0
  61. package/dist/tailwind-customizations/variants.js.map +1 -0
  62. package/dist/tailwind-plugin.d.ts +4 -0
  63. package/dist/tailwind-plugin.d.ts.map +1 -0
  64. package/dist/tailwind-plugin.js +12 -0
  65. package/dist/tailwind-plugin.js.map +1 -0
  66. package/dist/types.d.ts +4 -0
  67. package/dist/types.d.ts.map +1 -0
  68. package/dist/types.js +2 -0
  69. package/dist/types.js.map +1 -0
  70. package/dist/utils/cssUnescape.d.ts +20 -0
  71. package/dist/utils/cssUnescape.d.ts.map +1 -0
  72. package/dist/utils/cssUnescape.js +44 -0
  73. package/dist/utils/cssUnescape.js.map +1 -0
  74. package/dist/utils/index.d.ts +6 -0
  75. package/dist/utils/index.d.ts.map +1 -0
  76. package/dist/utils/index.js +6 -0
  77. package/dist/utils/index.js.map +1 -0
  78. package/dist/utils/pxToTw.d.ts +3 -0
  79. package/dist/utils/pxToTw.d.ts.map +1 -0
  80. package/dist/utils/pxToTw.js +5 -0
  81. package/dist/utils/pxToTw.js.map +1 -0
  82. package/dist/utils/twToPx.d.ts +3 -0
  83. package/dist/utils/twToPx.d.ts.map +1 -0
  84. package/dist/utils/twToPx.js +5 -0
  85. package/dist/utils/twToPx.js.map +1 -0
  86. package/dist/utils/twToRem.d.ts +3 -0
  87. package/dist/utils/twToRem.d.ts.map +1 -0
  88. package/dist/utils/twToRem.js +5 -0
  89. package/dist/utils/twToRem.js.map +1 -0
  90. package/dist/utils/wrapSelector.d.ts +10 -0
  91. package/dist/utils/wrapSelector.d.ts.map +1 -0
  92. package/dist/utils/wrapSelector.js +57 -0
  93. package/dist/utils/wrapSelector.js.map +1 -0
  94. package/package.json +65 -0
  95. package/src/component-registry.ts +213 -0
  96. package/src/css-props/getCSSPropRawValue.ts +52 -0
  97. package/src/css-props/index.ts +4 -0
  98. package/src/css-props/parseCSSPropValue.ts +81 -0
  99. package/src/css-props/registerCSSProps.ts +274 -0
  100. package/src/css-props/types.ts +35 -0
  101. package/src/css-states/index.ts +2 -0
  102. package/src/css-states/registerCSSStates.ts +136 -0
  103. package/src/css-states/states.ts +160 -0
  104. package/src/design-tokens.generated.ts +2799 -0
  105. package/src/index.ts +6 -0
  106. package/src/tailwind-customizations/index.ts +2 -0
  107. package/src/tailwind-customizations/registerUtilities.ts +65 -0
  108. package/src/tailwind-customizations/registerVariants.ts +296 -0
  109. package/src/tailwind-customizations/variants.ts +190 -0
  110. package/src/tailwind-plugin.ts +14 -0
  111. package/src/types.ts +4 -0
  112. package/src/utils/cssUnescape.ts +49 -0
  113. package/src/utils/index.ts +5 -0
  114. package/src/utils/pxToTw.ts +4 -0
  115. package/src/utils/twToPx.ts +4 -0
  116. package/src/utils/twToRem.ts +4 -0
  117. package/src/utils/wrapSelector.ts +60 -0
  118. package/styles/fonts/EuclidCircularA-Bold.woff2 +0 -0
  119. package/styles/fonts/EuclidCircularA-BoldItalic.woff2 +0 -0
  120. package/styles/fonts/EuclidCircularA-Light.woff2 +0 -0
  121. package/styles/fonts/EuclidCircularA-LightItalic.woff2 +0 -0
  122. package/styles/fonts/EuclidCircularA-Medium.woff2 +0 -0
  123. package/styles/fonts/EuclidCircularA-MediumItalic.woff2 +0 -0
  124. package/styles/fonts/EuclidCircularA-Regular.woff2 +0 -0
  125. package/styles/fonts/EuclidCircularA-RegularItalic.woff2 +0 -0
  126. package/styles/fonts/EuclidCircularA-Semibold.woff2 +0 -0
  127. package/styles/fonts/EuclidCircularA-SemiboldItalic.woff2 +0 -0
  128. package/styles/fonts.css +83 -0
  129. package/styles/global.css +203 -0
  130. package/styles/layers.css +8 -0
  131. package/styles/tailwind.css +13 -0
  132. package/styles/tailwind.vscode.css +11 -0
  133. package/styles/theme.css +420 -0
  134. package/styles/typography.css +198 -0
  135. package/styles/utilities.css +305 -0
  136. package/styles/variants.css +34 -0
@@ -0,0 +1,140 @@
1
+ import { wrapSelector } from "../utils/index.js";
2
+ export const cssStates = [
3
+ 'open',
4
+ 'not-open',
5
+ 'current',
6
+ 'not-current',
7
+ 'checked',
8
+ 'indeterminate',
9
+ 'unchecked',
10
+ 'read-only',
11
+ 'blank',
12
+ 'not-blank',
13
+ 'idle',
14
+ 'hover',
15
+ 'focus',
16
+ 'not-focus',
17
+ 'active',
18
+ 'enabled',
19
+ 'disabled',
20
+ ];
21
+ function createCSSStateVariable(variable) {
22
+ return variable;
23
+ }
24
+ export const cssStateVariables = {
25
+ pointer: createCSSStateVariable({
26
+ values: {
27
+ idle: 'idle',
28
+ hover: 'hover',
29
+ active: 'active',
30
+ },
31
+ defaultValue: 'idle',
32
+ }),
33
+ focus: createCSSStateVariable({
34
+ values: {
35
+ focus: true,
36
+ 'not-focus': false,
37
+ },
38
+ defaultValue: false,
39
+ }),
40
+ checked: createCSSStateVariable({
41
+ values: {
42
+ checked: true,
43
+ indeterminate: 'indeterminate',
44
+ unchecked: false,
45
+ },
46
+ defaultValue: false,
47
+ }),
48
+ disabled: createCSSStateVariable({
49
+ values: {
50
+ enabled: false,
51
+ disabled: true,
52
+ 'read-only': 'read-only',
53
+ },
54
+ defaultValue: false,
55
+ }),
56
+ open: createCSSStateVariable({
57
+ values: {
58
+ open: true,
59
+ 'not-open': false,
60
+ },
61
+ defaultValue: false,
62
+ }),
63
+ current: createCSSStateVariable({
64
+ values: {
65
+ current: true,
66
+ 'not-current': false,
67
+ },
68
+ defaultValue: false,
69
+ }),
70
+ blank: createCSSStateVariable({
71
+ values: {
72
+ blank: true,
73
+ 'not-blank': false,
74
+ },
75
+ defaultValue: false,
76
+ }),
77
+ };
78
+ function isCSSState(state) {
79
+ return cssStates.includes(state);
80
+ }
81
+ const cssStateVariableEntries = Object.entries(cssStateVariables);
82
+ export function getCSSStateVariable(state) {
83
+ if (isCSSState(state)) {
84
+ for (const [variableName, { values, defaultValue }] of cssStateVariableEntries) {
85
+ if (state in values) {
86
+ const value = values[state];
87
+ return {
88
+ name: variableName,
89
+ value: String(value),
90
+ isDefault: value === defaultValue,
91
+ };
92
+ }
93
+ }
94
+ }
95
+ // Support arbitrary states in the format `state-[foo]` or `state-[foo=bar]`
96
+ const [stateName, stateValue] = state.split('=');
97
+ return { name: stateName, value: stateValue ?? 'true', isDefault: false };
98
+ }
99
+ export function getPointerStateSelector(state) {
100
+ return `:is(${state === 'hover' ? '[data-gds-exposed-pointer=hover], [data-gds-exposed-pointer=active]' : `[data-gds-exposed-pointer=${state}]`}, :not([data-gds-exposed-pointer]):where(${state === 'idle' ? ':not(:hover, :active)' : state === 'hover' ? ':hover' : ':is(:hover:active, [data-gds-active] :active)'}))`;
101
+ }
102
+ export function getFocusStateSelector(visible, within) {
103
+ return `${within ? ':has' : ':is'}([data-gds-exposed-focus=true], :not([data-gds-exposed-focus]):where(${visible ? ':focus-visible' : ':focus'}))`;
104
+ }
105
+ export function getCheckedStateSelector(checked) {
106
+ return `:is([data-gds-exposed-checked=${checked === 'indeterminate' ? 'indeterminate' : checked}], :not([data-gds-exposed-checked]):where(${checked !== 'indeterminate' ? `${checked ? ':checked' : ':not(:checked)'}:not([aria-checked], [aria-pressed], [aria-selected]), ` : ''}[aria-checked=${checked === 'indeterminate' ? 'mixed' : checked}], [aria-pressed=${checked === 'indeterminate' ? 'mixed' : checked}]${checked !== 'indeterminate' ? `, [aria-selected=${checked}]` : ''}))`;
107
+ }
108
+ export function getDisabledStateSelector(disabled) {
109
+ return `:is([data-gds-exposed-disabled=${disabled === 'read-only' ? 'read-only' : disabled}], :not([data-gds-exposed-disabled]):where(${disabled === true ? ':is' : ':not'}(:disabled, [aria-disabled=true])${disabled !== true ? `${disabled === 'read-only' ? ':is' : ':not'}(input:not([type=hidden], [type=range], [type=color], [type=checkbox], [type=radio], [type=button], [type=submit], [type=reset], [type=image]):read-only, textarea:read-only, [aria-readonly=true])` : ''}))`;
110
+ }
111
+ export function getOpenStateSelector(open) {
112
+ return `${open ? ':is' : ':not'}([data-gds-exposed-open=true], :not([data-gds-exposed-open]):where([open], :popover-open, :open, [aria-expanded=true]))`;
113
+ }
114
+ export function getCurrentStateSelector(current) {
115
+ return `${current ? ':is' : ':not'}([data-gds-exposed-current=true], :not([data-gds-exposed-current]):where([aria-current]:not([aria-current=''], [aria-current=false])))`;
116
+ }
117
+ export function getBlankStateSelector(blank) {
118
+ // Should use `:blank` instead of `:placeholder-shown`, but no browser supports it
119
+ return `${blank ? ':is' : ':not'}([data-gds-exposed-blank=true], :not([data-gds-exposed-blank]):where(input:placeholder-shown, textarea:placeholder-shown, :not(input, textarea)[data-placeholder-shown]))`;
120
+ }
121
+ export const cssStateSelectors = {
122
+ open: getOpenStateSelector(true),
123
+ 'not-open': getOpenStateSelector(false),
124
+ current: getCurrentStateSelector(true),
125
+ 'not-current': getCurrentStateSelector(false),
126
+ checked: getCheckedStateSelector(true),
127
+ indeterminate: getCheckedStateSelector('indeterminate'),
128
+ unchecked: getCheckedStateSelector(false),
129
+ 'read-only': getDisabledStateSelector('read-only'),
130
+ blank: getBlankStateSelector(true),
131
+ 'not-blank': getBlankStateSelector(false),
132
+ idle: getPointerStateSelector('idle'),
133
+ hover: getPointerStateSelector('hover'),
134
+ focus: getFocusStateSelector(true, false),
135
+ 'not-focus': wrapSelector(':not', getFocusStateSelector(true, false)),
136
+ active: getPointerStateSelector('active'),
137
+ enabled: getDisabledStateSelector(false),
138
+ disabled: getDisabledStateSelector(true),
139
+ };
140
+ //# sourceMappingURL=states.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"states.js","sourceRoot":"","sources":["../../src/css-states/states.ts"],"names":[],"mappings":"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"}