@yahoo/uds 3.162.1 → 3.163.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 (97) hide show
  1. package/dist/automated-config/dist/utils/getConfigVariantProperties.d.cts +2 -2
  2. package/dist/automated-config/dist/utils/getConfigVariantProperties.d.ts +2 -2
  3. package/dist/cli/commands/sync.cjs +1 -1
  4. package/dist/cli/commands/sync.js +1 -1
  5. package/dist/cli/dist/commands/editor-rules.cjs +1 -1
  6. package/dist/cli/dist/commands/editor-rules.js +1 -1
  7. package/dist/cli/dist/utils/rules/config.cjs +1 -1
  8. package/dist/cli/dist/utils/rules/config.js +1 -1
  9. package/dist/components/client/Popover/UDSPopoverConfigProvider.d.cts +1 -1
  10. package/dist/components/client/Popover/UDSPopoverConfigProvider.d.ts +1 -1
  11. package/dist/components/client/Switch/Switch.cjs +5 -2
  12. package/dist/components/client/Switch/Switch.js +5 -2
  13. package/dist/components/client/Switch/switchStyles.cjs +2 -2
  14. package/dist/components/client/Switch/switchStyles.js +2 -2
  15. package/dist/css/dist/css/generate.cjs +4 -4
  16. package/dist/css/dist/css/generate.helpers.cjs +9 -19
  17. package/dist/css/dist/css/generate.helpers.js +4 -13
  18. package/dist/css/dist/css/generate.js +3 -3
  19. package/dist/css/dist/css/nodeUtils.cjs +3 -3
  20. package/dist/css/dist/css/nodeUtils.js +2 -2
  21. package/dist/css/dist/css/runner.cjs +2 -2
  22. package/dist/css/dist/css/runner.js +2 -2
  23. package/dist/css/dist/css/theme.d.cts +1 -1
  24. package/dist/css/dist/css/theme.d.ts +1 -1
  25. package/dist/css/dist/postcss/pruneVars.cjs +53 -0
  26. package/dist/css/dist/postcss/pruneVars.d.cts +33 -0
  27. package/dist/css/dist/postcss/pruneVars.d.ts +33 -0
  28. package/dist/css/dist/postcss/pruneVars.js +50 -0
  29. package/dist/css/dist/postcss.d.cts +3 -0
  30. package/dist/css/dist/postcss.d.ts +3 -0
  31. package/dist/css/dist/purger/optimized/ast/expressions.cjs +2 -2
  32. package/dist/css/dist/purger/optimized/ast/expressions.js +1 -1
  33. package/dist/css/dist/purger/optimized/purge.cjs +3 -3
  34. package/dist/css/dist/purger/optimized/purge.js +2 -2
  35. package/dist/css/dist/purger/optimized/utils/safelist.cjs +1 -1
  36. package/dist/css/dist/purger/optimized/utils/safelist.js +1 -1
  37. package/dist/hooks/useRtl.cjs +4 -8
  38. package/dist/hooks/useRtl.js +4 -8
  39. package/dist/postcss.cjs +4 -0
  40. package/dist/postcss.d.cts +4 -0
  41. package/dist/postcss.d.ts +4 -0
  42. package/dist/postcss.js +3 -0
  43. package/dist/styles/styler.d.cts +5 -5
  44. package/dist/styles/styler.d.ts +5 -5
  45. package/dist/tailwind-internal/dist/utils/entryPoints.cjs +2 -2
  46. package/dist/tailwind-internal/dist/utils/entryPoints.js +1 -1
  47. package/dist/tailwind-internal/dist/utils/getShadowStyles.d.cts +2 -2
  48. package/dist/tailwind-internal/dist/utils/getShadowStyles.d.ts +2 -2
  49. package/dist/tailwind-internal/dist/vendor/node_modules/postcss/LICENSE +1 -1
  50. package/dist/tailwind-internal/dist/vendor/node_modules/postcss/README.md +6 -10
  51. package/dist/tailwind-internal/dist/vendor/node_modules/postcss/lib/at-rule.d.ts +0 -1
  52. package/dist/tailwind-internal/dist/vendor/node_modules/postcss/lib/comment.d.ts +0 -1
  53. package/dist/tailwind-internal/dist/vendor/node_modules/postcss/lib/container.d.ts +1 -6
  54. package/dist/tailwind-internal/dist/vendor/node_modules/postcss/lib/container.js +81 -34
  55. package/dist/tailwind-internal/dist/vendor/node_modules/postcss/lib/css-syntax-error.d.ts +0 -1
  56. package/dist/tailwind-internal/dist/vendor/node_modules/postcss/lib/declaration.d.ts +0 -1
  57. package/dist/tailwind-internal/dist/vendor/node_modules/postcss/lib/document.d.ts +0 -1
  58. package/dist/tailwind-internal/dist/vendor/node_modules/postcss/lib/fromJSON.d.ts +1 -1
  59. package/dist/tailwind-internal/dist/vendor/node_modules/postcss/lib/fromJSON.js +76 -23
  60. package/dist/tailwind-internal/dist/vendor/node_modules/postcss/lib/input.d.ts +0 -1
  61. package/dist/tailwind-internal/dist/vendor/node_modules/postcss/lib/input.js +22 -5
  62. package/dist/tailwind-internal/dist/vendor/node_modules/postcss/lib/lazy-result.d.ts +3 -4
  63. package/dist/tailwind-internal/dist/vendor/node_modules/postcss/lib/lazy-result.js +68 -13
  64. package/dist/tailwind-internal/dist/vendor/node_modules/postcss/lib/list.d.ts +1 -1
  65. package/dist/tailwind-internal/dist/vendor/node_modules/postcss/lib/map-generator.js +9 -1
  66. package/dist/tailwind-internal/dist/vendor/node_modules/postcss/lib/no-work-result.d.ts +0 -1
  67. package/dist/tailwind-internal/dist/vendor/node_modules/postcss/lib/no-work-result.js +3 -4
  68. package/dist/tailwind-internal/dist/vendor/node_modules/postcss/lib/node.d.ts +0 -1
  69. package/dist/tailwind-internal/dist/vendor/node_modules/postcss/lib/node.js +105 -60
  70. package/dist/tailwind-internal/dist/vendor/node_modules/postcss/lib/parse.d.ts +1 -1
  71. package/dist/tailwind-internal/dist/vendor/node_modules/postcss/lib/parser.js +37 -30
  72. package/dist/tailwind-internal/dist/vendor/node_modules/postcss/lib/postcss.d.mts +0 -3
  73. package/dist/tailwind-internal/dist/vendor/node_modules/postcss/lib/postcss.d.ts +10 -4
  74. package/dist/tailwind-internal/dist/vendor/node_modules/postcss/lib/previous-map.d.ts +0 -1
  75. package/dist/tailwind-internal/dist/vendor/node_modules/postcss/lib/previous-map.js +32 -6
  76. package/dist/tailwind-internal/dist/vendor/node_modules/postcss/lib/processor.d.ts +0 -1
  77. package/dist/tailwind-internal/dist/vendor/node_modules/postcss/lib/processor.js +1 -1
  78. package/dist/tailwind-internal/dist/vendor/node_modules/postcss/lib/result.d.ts +0 -1
  79. package/dist/tailwind-internal/dist/vendor/node_modules/postcss/lib/root.d.ts +0 -1
  80. package/dist/tailwind-internal/dist/vendor/node_modules/postcss/lib/rule.d.ts +12 -12
  81. package/dist/tailwind-internal/dist/vendor/node_modules/postcss/lib/stringifier.d.ts +0 -1
  82. package/dist/tailwind-internal/dist/vendor/node_modules/postcss/lib/stringifier.js +118 -32
  83. package/dist/tailwind-internal/dist/vendor/node_modules/postcss/lib/stringify.d.ts +1 -1
  84. package/dist/tailwind-internal/dist/vendor/node_modules/postcss/lib/tokenize.js +4 -0
  85. package/dist/tailwind-internal/dist/vendor/node_modules/postcss/lib/warning.d.ts +0 -1
  86. package/dist/tailwind-internal/dist/vendor/node_modules/postcss/package.json +44 -44
  87. package/dist/tailwind-v3/dist/purger/legacy/purgeCSS.cjs +1 -1
  88. package/dist/tailwind-v3/dist/purger/legacy/purgeCSS.js +1 -1
  89. package/dist/uds/generated/componentData.cjs +142 -140
  90. package/dist/uds/generated/componentData.js +142 -140
  91. package/dist/uds/generated/tailwindPurge.cjs +1 -1
  92. package/dist/uds/generated/tailwindPurge.js +1 -1
  93. package/dist/uds/package.cjs +11 -1
  94. package/dist/uds/package.js +11 -1
  95. package/generated/componentData.json +186 -184
  96. package/generated/tailwindPurge.ts +1 -1
  97. package/package.json +12 -2
@@ -1,5 +1,17 @@
1
1
  'use strict'
2
2
 
3
+ // Escapes sequences that could break out of an HTML <style> context.
4
+ // Uses CSS unicode escaping (\3c = '<') which is valid CSS and parsed
5
+ // correctly by all compliant CSS consumers.
6
+ const STYLE_TAG = /(<)(\/?style\b)/gi
7
+ const COMMENT_OPEN = /(<)(!--)/g
8
+
9
+ function escapeHTMLInCSS(str) {
10
+ if (typeof str !== 'string') return str
11
+ if (!str.includes('<')) return str
12
+ return str.replace(STYLE_TAG, '\\3c $2').replace(COMMENT_OPEN, '\\3c $2')
13
+ }
14
+
3
15
  const DEFAULT_RAW = {
4
16
  after: '\n',
5
17
  beforeClose: '\n',
@@ -19,26 +31,74 @@ function capitalize(str) {
19
31
  return str[0].toUpperCase() + str.slice(1)
20
32
  }
21
33
 
34
+ function atruleStart(str, node) {
35
+ let name = '@' + node.name
36
+ let params = node.params ? str.rawValue(node, 'params') : ''
37
+
38
+ if (typeof node.raws.afterName !== 'undefined') {
39
+ name += node.raws.afterName
40
+ } else if (params) {
41
+ name += ' '
42
+ }
43
+
44
+ return name + params
45
+ }
46
+
47
+ function pushBody(str, stack, node) {
48
+ let nodes = node.nodes
49
+ let last = nodes.length - 1
50
+ while (last > 0) {
51
+ if (nodes[last].type !== 'comment') break
52
+ last -= 1
53
+ }
54
+
55
+ let semicolon = str.raw(node, 'semicolon')
56
+ let isDocument = node.type === 'document'
57
+ for (let i = nodes.length - 1; i >= 0; i--) {
58
+ stack.push({
59
+ document: isDocument,
60
+ node: nodes[i],
61
+ semicolon: last !== i || semicolon
62
+ })
63
+ }
64
+ }
65
+
66
+ function pushBlock(str, stack, node, start) {
67
+ let between = str.raw(node, 'between', 'beforeOpen')
68
+ str.builder(escapeHTMLInCSS(start + between) + '{', node, 'start')
69
+
70
+ let hasNodes = node.nodes && node.nodes.length
71
+ let close = () => {
72
+ let after = hasNodes
73
+ ? str.raw(node, 'after')
74
+ : str.raw(node, 'after', 'emptyBody')
75
+ if (after) str.builder(escapeHTMLInCSS(after))
76
+ str.builder('}', node, 'end')
77
+ if (node.type === 'rule' && node.raws.ownSemicolon) {
78
+ str.builder(escapeHTMLInCSS(node.raws.ownSemicolon), node, 'end')
79
+ }
80
+ }
81
+
82
+ if (hasNodes) {
83
+ stack.push(close)
84
+ pushBody(str, stack, node)
85
+ } else {
86
+ close()
87
+ }
88
+ }
89
+
22
90
  class Stringifier {
23
91
  constructor(builder) {
24
92
  this.builder = builder
25
93
  }
26
94
 
27
95
  atrule(node, semicolon) {
28
- let name = '@' + node.name
29
- let params = node.params ? this.rawValue(node, 'params') : ''
30
-
31
- if (typeof node.raws.afterName !== 'undefined') {
32
- name += node.raws.afterName
33
- } else if (params) {
34
- name += ' '
35
- }
36
-
96
+ let start = atruleStart(this, node)
37
97
  if (node.nodes) {
38
- this.block(node, name + params)
98
+ this.block(node, start)
39
99
  } else {
40
100
  let end = (node.raws.between || '') + (semicolon ? ';' : '')
41
- this.builder(name + params + end, node)
101
+ this.builder(escapeHTMLInCSS(start + end), node)
42
102
  }
43
103
  }
44
104
 
@@ -73,7 +133,7 @@ class Stringifier {
73
133
 
74
134
  block(node, start) {
75
135
  let between = this.raw(node, 'between', 'beforeOpen')
76
- this.builder(start + between + '{', node, 'start')
136
+ this.builder(escapeHTMLInCSS(start + between) + '{', node, 'start')
77
137
 
78
138
  let after
79
139
  if (node.nodes && node.nodes.length) {
@@ -83,42 +143,64 @@ class Stringifier {
83
143
  after = this.raw(node, 'after', 'emptyBody')
84
144
  }
85
145
 
86
- if (after) this.builder(after)
146
+ if (after) this.builder(escapeHTMLInCSS(after))
87
147
  this.builder('}', node, 'end')
88
148
  }
89
149
 
90
150
  body(node) {
91
- let last = node.nodes.length - 1
92
- while (last > 0) {
93
- if (node.nodes[last].type !== 'comment') break
94
- last -= 1
95
- }
151
+ // Rules and at-rules are expanded into an explicit stack instead of
152
+ // recursive `stringify()` calls to survive deeply nested trees.
153
+ // If a subclass changes the traversal methods, its children go
154
+ // through `stringify()` to keep the override in charge.
155
+ let proto = Stringifier.prototype
156
+ let expandable = ['atrule', 'block', 'body', 'rule', 'stringify'].every(
157
+ method => this[method] === proto[method]
158
+ )
159
+
160
+ let stack = []
161
+ pushBody(this, stack, node)
162
+
163
+ while (stack.length > 0) {
164
+ let entry = stack.pop()
165
+ if (typeof entry === 'function') {
166
+ entry()
167
+ continue
168
+ }
96
169
 
97
- let semicolon = this.raw(node, 'semicolon')
98
- for (let i = 0; i < node.nodes.length; i++) {
99
- let child = node.nodes[i]
170
+ let child = entry.node
100
171
  let before = this.raw(child, 'before')
101
- if (before) this.builder(before)
102
- this.stringify(child, last !== i || semicolon)
172
+ if (before) {
173
+ this.builder(entry.document ? before : escapeHTMLInCSS(before))
174
+ }
175
+
176
+ if (expandable && child.type === 'rule') {
177
+ pushBlock(this, stack, child, this.rawValue(child, 'selector'))
178
+ } else if (expandable && child.type === 'atrule' && child.nodes) {
179
+ pushBlock(this, stack, child, atruleStart(this, child))
180
+ } else {
181
+ this.stringify(child, entry.semicolon)
182
+ }
103
183
  }
104
184
  }
105
185
 
106
186
  comment(node) {
107
187
  let left = this.raw(node, 'left', 'commentLeft')
108
188
  let right = this.raw(node, 'right', 'commentRight')
109
- this.builder('/*' + left + node.text + right + '*/', node)
189
+ this.builder(escapeHTMLInCSS('/*' + left + node.text + right + '*/'), node)
110
190
  }
111
191
 
112
192
  decl(node, semicolon) {
193
+ let raws = node.raws
113
194
  let between = this.raw(node, 'between', 'colon')
195
+
114
196
  let string = node.prop + between + this.rawValue(node, 'value')
115
197
 
116
198
  if (node.important) {
117
- string += node.raws.important || ' !important'
199
+ string += raws.important || ' !important'
118
200
  }
119
201
 
120
202
  if (semicolon) string += ';'
121
- this.builder(string, node)
203
+ this.builder(escapeHTMLInCSS(string), node)
122
204
  }
123
205
 
124
206
  document(node) {
@@ -154,9 +236,9 @@ class Stringifier {
154
236
 
155
237
  // Detect style by other nodes
156
238
  let root = node.root()
157
- if (!root.rawCache) root.rawCache = {}
158
- if (typeof root.rawCache[detect] !== 'undefined') {
159
- return root.rawCache[detect]
239
+ let cache = root.rawCache || (root.rawCache = {})
240
+ if (typeof cache[detect] !== 'undefined') {
241
+ return cache[detect]
160
242
  }
161
243
 
162
244
  if (detect === 'before' || detect === 'after') {
@@ -175,7 +257,7 @@ class Stringifier {
175
257
 
176
258
  if (typeof value === 'undefined') value = DEFAULT_RAW[detect]
177
259
 
178
- root.rawCache[detect] = value
260
+ cache[detect] = value
179
261
  return value
180
262
  }
181
263
 
@@ -324,13 +406,17 @@ class Stringifier {
324
406
 
325
407
  root(node) {
326
408
  this.body(node)
327
- if (node.raws.after) this.builder(node.raws.after)
409
+ if (node.raws.after) {
410
+ let after = node.raws.after
411
+ let isDocument = node.parent && node.parent.type === 'document'
412
+ this.builder(isDocument ? after : escapeHTMLInCSS(after))
413
+ }
328
414
  }
329
415
 
330
416
  rule(node) {
331
417
  this.block(node, this.rawValue(node, 'selector'))
332
418
  if (node.raws.ownSemicolon) {
333
- this.builder(node.raws.ownSemicolon, node, 'end')
419
+ this.builder(escapeHTMLInCSS(node.raws.ownSemicolon), node, 'end')
334
420
  }
335
421
  }
336
422
 
@@ -4,6 +4,6 @@ interface Stringify extends Stringifier {
4
4
  default: Stringify
5
5
  }
6
6
 
7
- declare const stringify: Stringify
7
+ declare let stringify: Stringify
8
8
 
9
9
  export = stringify
@@ -36,6 +36,7 @@ module.exports = function tokenizer(input, options = {}) {
36
36
  let pos = 0
37
37
  let buffer = []
38
38
  let returned = []
39
+ let lastBadParen = -1
39
40
 
40
41
  function position() {
41
42
  return pos
@@ -127,11 +128,14 @@ module.exports = function tokenizer(input, options = {}) {
127
128
  currentToken = ['brackets', css.slice(pos, next + 1), pos, next]
128
129
 
129
130
  pos = next
131
+ } else if (pos <= lastBadParen) {
132
+ currentToken = ['(', '(', pos]
130
133
  } else {
131
134
  next = css.indexOf(')', pos + 1)
132
135
  content = css.slice(pos, next + 1)
133
136
 
134
137
  if (next === -1 || RE_BAD_BRACKET.test(content)) {
138
+ lastBadParen = next === -1 ? length : next
135
139
  currentToken = ['(', '(', pos]
136
140
  } else {
137
141
  currentToken = ['brackets', content, pos, next]
@@ -40,7 +40,6 @@ declare namespace Warning {
40
40
  word?: string
41
41
  }
42
42
 
43
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
44
43
  export { Warning_ as default }
45
44
  }
46
45
 
@@ -1,10 +1,48 @@
1
1
  {
2
2
  "name": "postcss",
3
- "version": "8.5.6",
3
+ "version": "8.5.18",
4
4
  "description": "Tool for transforming styles with JS plugins",
5
- "engines": {
6
- "node": "^10 || ^12 || >=14"
5
+ "keywords": [
6
+ "css",
7
+ "manipulation",
8
+ "parser",
9
+ "postcss",
10
+ "preprocessor",
11
+ "rework",
12
+ "source map",
13
+ "transform",
14
+ "transpiler"
15
+ ],
16
+ "homepage": "https://postcss.org/",
17
+ "bugs": {
18
+ "url": "https://github.com/postcss/postcss/issues"
7
19
  },
20
+ "license": "MIT",
21
+ "author": "Andrey Sitnik <andrey@sitnik.es>",
22
+ "repository": "postcss/postcss",
23
+ "funding": [
24
+ {
25
+ "type": "opencollective",
26
+ "url": "https://opencollective.com/postcss/"
27
+ },
28
+ {
29
+ "type": "tidelift",
30
+ "url": "https://tidelift.com/funding/github/npm/postcss"
31
+ },
32
+ {
33
+ "type": "github",
34
+ "url": "https://github.com/sponsors/ai"
35
+ }
36
+ ],
37
+ "main": "./lib/postcss.js",
38
+ "browser": {
39
+ "./lib/terminal-highlight": false,
40
+ "source-map-js": false,
41
+ "path": false,
42
+ "url": false,
43
+ "fs": false
44
+ },
45
+ "types": "./lib/postcss.d.ts",
8
46
  "exports": {
9
47
  ".": {
10
48
  "import": "./lib/postcss.mjs",
@@ -39,50 +77,12 @@
39
77
  "./lib/warning": "./lib/warning.js",
40
78
  "./package.json": "./package.json"
41
79
  },
42
- "main": "./lib/postcss.js",
43
- "types": "./lib/postcss.d.ts",
44
- "keywords": [
45
- "css",
46
- "postcss",
47
- "rework",
48
- "preprocessor",
49
- "parser",
50
- "source map",
51
- "transform",
52
- "manipulation",
53
- "transpiler"
54
- ],
55
- "funding": [
56
- {
57
- "type": "opencollective",
58
- "url": "https://opencollective.com/postcss/"
59
- },
60
- {
61
- "type": "tidelift",
62
- "url": "https://tidelift.com/funding/github/npm/postcss"
63
- },
64
- {
65
- "type": "github",
66
- "url": "https://github.com/sponsors/ai"
67
- }
68
- ],
69
- "author": "Andrey Sitnik <andrey@sitnik.ru>",
70
- "license": "MIT",
71
- "homepage": "https://postcss.org/",
72
- "repository": "postcss/postcss",
73
- "bugs": {
74
- "url": "https://github.com/postcss/postcss/issues"
75
- },
76
80
  "dependencies": {
77
- "nanoid": "^3.3.11",
81
+ "nanoid": "^3.3.12",
78
82
  "picocolors": "^1.1.1",
79
83
  "source-map-js": "^1.2.1"
80
84
  },
81
- "browser": {
82
- "./lib/terminal-highlight": false,
83
- "source-map-js": false,
84
- "path": false,
85
- "url": false,
86
- "fs": false
85
+ "engines": {
86
+ "node": "^10 || ^12 || >=14"
87
87
  }
88
88
  }
@@ -5,9 +5,9 @@ const require_print = require("../../packages/cli/dist/lib/print.cjs");
5
5
  const require_spinner = require("../../packages/cli/dist/lib/spinner.cjs");
6
6
  const require_tsMorph = require("../../utils/tsMorph.cjs");
7
7
  const require_index = require("../../packages/css-tokens/dist/index.cjs");
8
+ let node_fs = require("node:fs");
8
9
  let node_path = require("node:path");
9
10
  node_path = require_runtime.__toESM(node_path, 1);
10
- let node_fs = require("node:fs");
11
11
  let ts_morph = require("ts-morph");
12
12
  let fast_glob = require("fast-glob");
13
13
  fast_glob = require_runtime.__toESM(fast_glob, 1);
@@ -4,8 +4,8 @@ import { print } from "../../packages/cli/dist/lib/print.js";
4
4
  import { spinStart, spinStop } from "../../packages/cli/dist/lib/spinner.js";
5
5
  import { findReferencesAsJsxElements, getUsedPropsInReference } from "../../utils/tsMorph.js";
6
6
  import { DARK_COLOR_MODE_CLASSNAME, LARGE_SCALE_MODE_CLASSNAME, LIGHT_COLOR_MODE_CLASSNAME, MEDIUM_SCALE_MODE_CLASSNAME, SMALL_SCALE_MODE_CLASSNAME, XLARGE_SCALE_MODE_CLASSNAME, XSMALL_SCALE_MODE_CLASSNAME, XXLARGE_SCALE_MODE_CLASSNAME, XXXLARGE_SCALE_MODE_CLASSNAME } from "../../packages/css-tokens/dist/index.js";
7
- import path from "node:path";
8
7
  import { mkdirSync, writeFileSync } from "node:fs";
8
+ import path from "node:path";
9
9
  import { Node, Project, SyntaxKind, ts } from "ts-morph";
10
10
  import fg from "fast-glob";
11
11
  //#region ../tailwind-v3/dist/purger/legacy/purgeCSS.mjs