@swc/plugin-styled-jsx 1.5.84 → 1.5.86

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 (217) hide show
  1. package/package.json +1 -1
  2. package/swc_plugin_styled_jsx.wasm +0 -0
  3. package/transform/Cargo.toml +0 -39
  4. package/transform/src/lib.rs +0 -7
  5. package/transform/src/lifetime.rs +0 -408
  6. package/transform/src/style.rs +0 -25
  7. package/transform/src/transform_css_lightningcss.rs +0 -589
  8. package/transform/src/transform_css_swc.rs +0 -392
  9. package/transform/src/utils.rs +0 -371
  10. package/transform/src/visitor.rs +0 -963
  11. package/transform/tests/errors/nested-style-tags/input.js +0 -31
  12. package/transform/tests/errors/nested-style-tags/output-lightningcss.js +0 -58
  13. package/transform/tests/errors/nested-style-tags/output-lightningcss.stderr +0 -27
  14. package/transform/tests/errors/nested-style-tags/output-swc.js +0 -58
  15. package/transform/tests/errors/nested-style-tags/output-swc.stderr +0 -27
  16. package/transform/tests/errors/nested-style-tags/output.js +0 -58
  17. package/transform/tests/errors/no-child/input.js +0 -6
  18. package/transform/tests/errors/no-child/output-lightningcss.js +0 -8
  19. package/transform/tests/errors/no-child/output-lightningcss.stderr +0 -9
  20. package/transform/tests/errors/no-child/output-swc.js +0 -8
  21. package/transform/tests/errors/no-child/output-swc.stderr +0 -9
  22. package/transform/tests/errors/no-child/output.js +0 -8
  23. package/transform/tests/errors/ts-with-css-resolve/input.js +0 -10
  24. package/transform/tests/errors/ts-with-css-resolve/output-lightningcss.js +0 -5
  25. package/transform/tests/errors/ts-with-css-resolve/output-lightningcss.stderr +0 -2
  26. package/transform/tests/errors/ts-with-css-resolve/output-swc.js +0 -5
  27. package/transform/tests/errors/ts-with-css-resolve/output-swc.stderr +0 -2
  28. package/transform/tests/errors/ts-with-css-resolve/output.js +0 -5
  29. package/transform/tests/errors/two-children/input.js +0 -8
  30. package/transform/tests/errors/two-children/output-lightningcss.js +0 -12
  31. package/transform/tests/errors/two-children/output-lightningcss.stderr +0 -11
  32. package/transform/tests/errors/two-children/output-swc.js +0 -12
  33. package/transform/tests/errors/two-children/output-swc.stderr +0 -11
  34. package/transform/tests/errors/two-children/output.js +0 -12
  35. package/transform/tests/errors/wrong-child-type/input.js +0 -7
  36. package/transform/tests/errors/wrong-child-type/output-lightningcss.js +0 -10
  37. package/transform/tests/errors/wrong-child-type/output-lightningcss.stderr +0 -10
  38. package/transform/tests/errors/wrong-child-type/output-swc.js +0 -10
  39. package/transform/tests/errors/wrong-child-type/output-swc.stderr +0 -10
  40. package/transform/tests/errors/wrong-child-type/output.js +0 -10
  41. package/transform/tests/errors/wrong-jsx-expression-type/input.js +0 -7
  42. package/transform/tests/errors/wrong-jsx-expression-type/output-lightningcss.js +0 -10
  43. package/transform/tests/errors/wrong-jsx-expression-type/output-lightningcss.stderr +0 -10
  44. package/transform/tests/errors/wrong-jsx-expression-type/output-swc.js +0 -10
  45. package/transform/tests/errors/wrong-jsx-expression-type/output-swc.stderr +0 -10
  46. package/transform/tests/errors/wrong-jsx-expression-type/output.js +0 -10
  47. package/transform/tests/fixture/.expressions/input.js +0 -90
  48. package/transform/tests/fixture/absent/input.js +0 -6
  49. package/transform/tests/fixture/absent/output.lightningcss.js +0 -7
  50. package/transform/tests/fixture/absent/output.swc.js +0 -7
  51. package/transform/tests/fixture/attribute-generation-classname-rewriting/input.js +0 -55
  52. package/transform/tests/fixture/attribute-generation-classname-rewriting/output.lightningcss.js +0 -112
  53. package/transform/tests/fixture/attribute-generation-classname-rewriting/output.swc.js +0 -112
  54. package/transform/tests/fixture/attribute-generation-modes/input.js +0 -166
  55. package/transform/tests/fixture/attribute-generation-modes/output.lightningcss.js +0 -228
  56. package/transform/tests/fixture/attribute-generation-modes/output.swc.js +0 -228
  57. package/transform/tests/fixture/class/input.js +0 -14
  58. package/transform/tests/fixture/class/output.lightningcss.js +0 -12
  59. package/transform/tests/fixture/class/output.swc.js +0 -12
  60. package/transform/tests/fixture/comments/input.js +0 -18
  61. package/transform/tests/fixture/comments/output.lightningcss.js +0 -12
  62. package/transform/tests/fixture/comments/output.swc.js +0 -12
  63. package/transform/tests/fixture/component-attribute/input.js +0 -11
  64. package/transform/tests/fixture/component-attribute/output.lightningcss.js +0 -10
  65. package/transform/tests/fixture/component-attribute/output.swc.js +0 -10
  66. package/transform/tests/fixture/conflicts/input.js +0 -16
  67. package/transform/tests/fixture/conflicts/output.lightningcss.js +0 -14
  68. package/transform/tests/fixture/conflicts/output.swc.js +0 -14
  69. package/transform/tests/fixture/css-selector-after-pseudo/input.js +0 -18
  70. package/transform/tests/fixture/css-selector-after-pseudo/output.lightningcss.js +0 -11
  71. package/transform/tests/fixture/css-selector-after-pseudo/output.swc.js +0 -11
  72. package/transform/tests/fixture/css-tag-same-file/input.js +0 -25
  73. package/transform/tests/fixture/css-tag-same-file/output.lightningcss.js +0 -21
  74. package/transform/tests/fixture/css-tag-same-file/output.swc.js +0 -21
  75. package/transform/tests/fixture/different-jsx-ids/input.js +0 -23
  76. package/transform/tests/fixture/different-jsx-ids/output.lightningcss.js +0 -24
  77. package/transform/tests/fixture/different-jsx-ids/output.swc.js +0 -24
  78. package/transform/tests/fixture/dynamic-element/input.js +0 -56
  79. package/transform/tests/fixture/dynamic-element/output.lightningcss.js +0 -40
  80. package/transform/tests/fixture/dynamic-element/output.swc.js +0 -40
  81. package/transform/tests/fixture/dynamic-element-class/input.js +0 -32
  82. package/transform/tests/fixture/dynamic-element-class/output.lightningcss.js +0 -25
  83. package/transform/tests/fixture/dynamic-element-class/output.swc.js +0 -25
  84. package/transform/tests/fixture/dynamic-element-external/input.js +0 -12
  85. package/transform/tests/fixture/dynamic-element-external/output.lightningcss.js +0 -12
  86. package/transform/tests/fixture/dynamic-element-external/output.swc.js +0 -12
  87. package/transform/tests/fixture/dynamic-this-in-arrow/input.js +0 -41
  88. package/transform/tests/fixture/dynamic-this-in-arrow/output.lightningcss.js +0 -39
  89. package/transform/tests/fixture/dynamic-this-in-arrow/output.swc.js +0 -39
  90. package/transform/tests/fixture/exported-jsx-style/input.js +0 -1
  91. package/transform/tests/fixture/exported-jsx-style/output.lightningcss.js +0 -1
  92. package/transform/tests/fixture/exported-jsx-style/output.swc.js +0 -1
  93. package/transform/tests/fixture/exported-non-jsx-style/input.js +0 -1
  94. package/transform/tests/fixture/exported-non-jsx-style/output.lightningcss.js +0 -1
  95. package/transform/tests/fixture/exported-non-jsx-style/output.swc.js +0 -1
  96. package/transform/tests/fixture/external-nested-scope/input.js +0 -5
  97. package/transform/tests/fixture/external-nested-scope/output.lightningcss.js +0 -7
  98. package/transform/tests/fixture/external-nested-scope/output.swc.js +0 -7
  99. package/transform/tests/fixture/external-stylesheet/input.js +0 -41
  100. package/transform/tests/fixture/external-stylesheet/output.lightningcss.js +0 -34
  101. package/transform/tests/fixture/external-stylesheet/output.swc.js +0 -34
  102. package/transform/tests/fixture/external-stylesheet-global/input.js +0 -19
  103. package/transform/tests/fixture/external-stylesheet-global/output.lightningcss.js +0 -18
  104. package/transform/tests/fixture/external-stylesheet-global/output.swc.js +0 -18
  105. package/transform/tests/fixture/external-stylesheet-multi-line/input.js +0 -9
  106. package/transform/tests/fixture/external-stylesheet-multi-line/output.lightningcss.js +0 -9
  107. package/transform/tests/fixture/external-stylesheet-multi-line/output.swc.js +0 -9
  108. package/transform/tests/fixture/fragment/input.js +0 -51
  109. package/transform/tests/fixture/fragment/output.lightningcss.js +0 -47
  110. package/transform/tests/fixture/fragment/output.swc.js +0 -47
  111. package/transform/tests/fixture/global/input.js +0 -22
  112. package/transform/tests/fixture/global/output.lightningcss.js +0 -7
  113. package/transform/tests/fixture/global/output.swc.js +0 -7
  114. package/transform/tests/fixture/global-child-selector/input.js +0 -10
  115. package/transform/tests/fixture/global-child-selector/output.lightningcss.js +0 -8
  116. package/transform/tests/fixture/global-child-selector/output.swc.js +0 -8
  117. package/transform/tests/fixture/global-redundant/input.js +0 -12
  118. package/transform/tests/fixture/global-redundant/output.lightningcss.js +0 -10
  119. package/transform/tests/fixture/global-redundant/output.swc.js +0 -10
  120. package/transform/tests/fixture/issue-30480/input.js +0 -11
  121. package/transform/tests/fixture/issue-30480/output.lightningcss.js +0 -15
  122. package/transform/tests/fixture/issue-30480/output.swc.js +0 -15
  123. package/transform/tests/fixture/issue-30570/input.js +0 -15
  124. package/transform/tests/fixture/issue-30570/output.lightningcss.js +0 -12
  125. package/transform/tests/fixture/issue-30570/output.swc.js +0 -12
  126. package/transform/tests/fixture/issue-31562-interpolation-in-mdea/input.js +0 -30
  127. package/transform/tests/fixture/issue-31562-interpolation-in-mdea/output.lightningcss.js +0 -43
  128. package/transform/tests/fixture/issue-31562-interpolation-in-mdea/output.swc.js +0 -43
  129. package/transform/tests/fixture/mixed-global-scoped/input.js +0 -9
  130. package/transform/tests/fixture/mixed-global-scoped/output.lightningcss.js +0 -11
  131. package/transform/tests/fixture/mixed-global-scoped/output.swc.js +0 -11
  132. package/transform/tests/fixture/multiple-jsx/input.js +0 -43
  133. package/transform/tests/fixture/multiple-jsx/output.lightningcss.js +0 -32
  134. package/transform/tests/fixture/multiple-jsx/output.swc.js +0 -32
  135. package/transform/tests/fixture/nested-style-tags/index.js +0 -0
  136. package/transform/tests/fixture/next-54653/input.js +0 -10
  137. package/transform/tests/fixture/next-54653/output.lightningcss.js +0 -3
  138. package/transform/tests/fixture/next-54653/output.swc.js +0 -3
  139. package/transform/tests/fixture/non-styled-jsx-style/input.js +0 -7
  140. package/transform/tests/fixture/non-styled-jsx-style/output.lightningcss.js +0 -12
  141. package/transform/tests/fixture/non-styled-jsx-style/output.swc.js +0 -12
  142. package/transform/tests/fixture/not-styled-jsx-tagged-templates/input.js +0 -30
  143. package/transform/tests/fixture/not-styled-jsx-tagged-templates/output.lightningcss.js +0 -23
  144. package/transform/tests/fixture/not-styled-jsx-tagged-templates/output.swc.js +0 -23
  145. package/transform/tests/fixture/number-after-placeholder/input.js +0 -17
  146. package/transform/tests/fixture/number-after-placeholder/output.lightningcss.js +0 -17
  147. package/transform/tests/fixture/number-after-placeholder/output.swc.js +0 -17
  148. package/transform/tests/fixture/one-off-global-selectors/input.js +0 -10
  149. package/transform/tests/fixture/one-off-global-selectors/output.lightningcss.js +0 -8
  150. package/transform/tests/fixture/one-off-global-selectors/output.swc.js +0 -8
  151. package/transform/tests/fixture/source-maps/input.js +0 -8
  152. package/transform/tests/fixture/source-maps/output.lightningcss.js +0 -8
  153. package/transform/tests/fixture/source-maps/output.swc.js +0 -8
  154. package/transform/tests/fixture/stateless/input.js +0 -8
  155. package/transform/tests/fixture/stateless/output.lightningcss.js +0 -12
  156. package/transform/tests/fixture/stateless/output.swc.js +0 -12
  157. package/transform/tests/fixture/styles/input.js +0 -57
  158. package/transform/tests/fixture/styles/output.lightningcss.js +0 -39
  159. package/transform/tests/fixture/styles/output.swc.js +0 -39
  160. package/transform/tests/fixture/styles-external-invalid/input.js +0 -13
  161. package/transform/tests/fixture/styles-external-invalid/output.lightningcss.js +0 -9
  162. package/transform/tests/fixture/styles-external-invalid/output.swc.js +0 -9
  163. package/transform/tests/fixture/styles-external-invalid2/input.js +0 -11
  164. package/transform/tests/fixture/styles-external-invalid2/output.lightningcss.js +0 -8
  165. package/transform/tests/fixture/styles-external-invalid2/output.swc.js +0 -8
  166. package/transform/tests/fixture/styles2/input.js +0 -6
  167. package/transform/tests/fixture/styles2/output.lightningcss.js +0 -5
  168. package/transform/tests/fixture/styles2/output.swc.js +0 -5
  169. package/transform/tests/fixture/too-many/input.js +0 -35
  170. package/transform/tests/fixture/too-many/output.lightningcss.js +0 -49
  171. package/transform/tests/fixture/too-many/output.swc.js +0 -49
  172. package/transform/tests/fixture/tpl-escape-1/input.js +0 -14
  173. package/transform/tests/fixture/tpl-escape-1/output.lightningcss.js +0 -12
  174. package/transform/tests/fixture/tpl-escape-1/output.swc.js +0 -12
  175. package/transform/tests/fixture/tpl-escape-2/input.js +0 -17
  176. package/transform/tests/fixture/tpl-escape-2/output.lightningcss.js +0 -17
  177. package/transform/tests/fixture/tpl-escape-2/output.swc.js +0 -17
  178. package/transform/tests/fixture/tpl-placeholder-1-as-property/input.js +0 -17
  179. package/transform/tests/fixture/tpl-placeholder-1-as-property/output.lightningcss.js +0 -28
  180. package/transform/tests/fixture/tpl-placeholder-1-as-property/output.swc.js +0 -28
  181. package/transform/tests/fixture/tpl-placeholder-2-as-part-of-value/input.js +0 -21
  182. package/transform/tests/fixture/tpl-placeholder-2-as-part-of-value/output.lightningcss.js +0 -34
  183. package/transform/tests/fixture/tpl-placeholder-2-as-part-of-value/output.swc.js +0 -34
  184. package/transform/tests/fixture/tpl-placeholder-3-as-value/input.js +0 -17
  185. package/transform/tests/fixture/tpl-placeholder-3-as-value/output.lightningcss.js +0 -28
  186. package/transform/tests/fixture/tpl-placeholder-3-as-value/output.swc.js +0 -28
  187. package/transform/tests/fixture/tpl-placeholder-4-as-part-of-value-in-multiple/input.js +0 -17
  188. package/transform/tests/fixture/tpl-placeholder-4-as-part-of-value-in-multiple/output.lightningcss.js +0 -31
  189. package/transform/tests/fixture/tpl-placeholder-4-as-part-of-value-in-multiple/output.swc.js +0 -31
  190. package/transform/tests/fixture/tpl-placeholder-5-values-of-multiple-properties/input.js +0 -16
  191. package/transform/tests/fixture/tpl-placeholder-5-values-of-multiple-properties/output.lightningcss.js +0 -31
  192. package/transform/tests/fixture/tpl-placeholder-5-values-of-multiple-properties/output.swc.js +0 -31
  193. package/transform/tests/fixture/transform-css/input.js +0 -176
  194. package/transform/tests/fixture/transform-css/output.lightningcss.js +0 -8
  195. package/transform/tests/fixture/transform-css/output.swc.js +0 -8
  196. package/transform/tests/fixture/transform-css-complex-selector/input.js +0 -116
  197. package/transform/tests/fixture/transform-css-complex-selector/output.lightningcss.js +0 -8
  198. package/transform/tests/fixture/transform-css-complex-selector/output.swc.js +0 -8
  199. package/transform/tests/fixture/transform-css-complex-selector-2/input.js +0 -12
  200. package/transform/tests/fixture/transform-css-complex-selector-2/output.lightningcss.js +0 -8
  201. package/transform/tests/fixture/transform-css-complex-selector-2/output.swc.js +0 -8
  202. package/transform/tests/fixture/transform-css-global/input.js +0 -32
  203. package/transform/tests/fixture/transform-css-global/output.lightningcss.js +0 -8
  204. package/transform/tests/fixture/transform-css-global/output.swc.js +0 -8
  205. package/transform/tests/fixture/transform-css-media-query/input.js +0 -24
  206. package/transform/tests/fixture/transform-css-media-query/output.lightningcss.js +0 -8
  207. package/transform/tests/fixture/transform-css-media-query/output.swc.js +0 -8
  208. package/transform/tests/fixture/transform-css-normal/input.js +0 -22
  209. package/transform/tests/fixture/transform-css-normal/output.lightningcss.js +0 -8
  210. package/transform/tests/fixture/transform-css-normal/output.swc.js +0 -8
  211. package/transform/tests/fixture/transform-css-nth-1/input.js +0 -10
  212. package/transform/tests/fixture/transform-css-nth-1/output.lightningcss.js +0 -8
  213. package/transform/tests/fixture/transform-css-nth-1/output.swc.js +0 -8
  214. package/transform/tests/fixture/whitespace/input.js +0 -12
  215. package/transform/tests/fixture/whitespace/output.lightningcss.js +0 -12
  216. package/transform/tests/fixture/whitespace/output.swc.js +0 -12
  217. package/transform/tests/fixture.rs +0 -129
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@swc/plugin-styled-jsx",
3
- "version": "1.5.84",
3
+ "version": "1.5.86",
4
4
  "description": "SWC plugin for styled-jsx",
5
5
  "main": "swc_plugin_styled_jsx.wasm",
6
6
  "scripts": {
Binary file
@@ -1,39 +0,0 @@
1
- [package]
2
- authors = ["강동윤 <kdy1997.dev@gmail.com>"]
3
- description = "AST transforms visitor for styled-jsx"
4
- edition = "2021"
5
- license = "Apache-2.0"
6
- name = "styled_jsx"
7
- version = "0.50.0"
8
-
9
- [features]
10
- custom_transform = ["swc_common/concurrent"]
11
-
12
- [dependencies]
13
- easy-error = "1.0.0"
14
- tracing = "0.1.37"
15
- lightningcss = { version = "1.0.0-alpha.46", features = [
16
- "visitor",
17
- "into_owned",
18
- ] }
19
- parcel_selectors = "0.26.0"
20
- serde = { version = "1", features = ["derive"] }
21
-
22
- swc_common = "0.32.1"
23
- swc_ecma_ast = "0.109.1"
24
- swc_ecma_utils = "0.123.0"
25
- swc_ecma_visit = "0.95.1"
26
- swc_plugin_macro = "0.9.15"
27
- swc_ecma_parser = "0.140.0"
28
- swc_ecma_minifier = "0.187.4"
29
- swc_css_ast = "0.139.1"
30
- swc_css_codegen = "0.149.1"
31
- swc_css_parser = "0.148.1"
32
- swc_css_prefixer = "0.151.1"
33
- swc_css_minifier = "0.114.1"
34
- swc_css_visit = "0.138.1"
35
-
36
- [dev-dependencies]
37
- testing = "0.34.1"
38
- swc_ecma_transforms_testing = "0.136.1"
39
- swc_ecma_transforms = "0.224.4"
@@ -1,7 +0,0 @@
1
- #![feature(box_patterns)]
2
- mod lifetime;
3
- pub mod style;
4
- mod transform_css_lightningcss;
5
- mod transform_css_swc;
6
- mod utils;
7
- pub mod visitor;
@@ -1,408 +0,0 @@
1
- #![deny(unused)]
2
-
3
- use lightningcss::{
4
- properties::custom::TokenList,
5
- selector::{Component, Selector, ViewTransitionPartName},
6
- };
7
- use parcel_selectors::{
8
- attr::{AttrSelectorWithOptionalNamespace, NamespaceConstraint, ParsedAttrSelectorOperation},
9
- parser::{LocalName, NthOfSelectorData},
10
- };
11
-
12
- pub fn owned_selector<'i>(sel: &Selector) -> Selector<'i> {
13
- let mut buf: Vec<Component<'i>> = vec![];
14
-
15
- for component in sel.iter_raw_parse_order_from(0) {
16
- buf.push(owned_component(component));
17
- }
18
-
19
- Selector::from(buf)
20
- }
21
-
22
- pub fn owned_component<'i>(c: &Component) -> Component<'i> {
23
- match c {
24
- parcel_selectors::parser::Component::Combinator(v) => {
25
- parcel_selectors::parser::Component::Combinator(*v)
26
- }
27
- parcel_selectors::parser::Component::ExplicitAnyNamespace => {
28
- parcel_selectors::parser::Component::ExplicitAnyNamespace
29
- }
30
- parcel_selectors::parser::Component::ExplicitNoNamespace => {
31
- parcel_selectors::parser::Component::ExplicitNoNamespace
32
- }
33
- parcel_selectors::parser::Component::DefaultNamespace(v) => {
34
- parcel_selectors::parser::Component::DefaultNamespace(v.clone().into_owned())
35
- }
36
- parcel_selectors::parser::Component::Namespace(v1, v2) => {
37
- parcel_selectors::parser::Component::Namespace(
38
- v1.clone().into_owned(),
39
- v2.clone().into_owned(),
40
- )
41
- }
42
- parcel_selectors::parser::Component::ExplicitUniversalType => {
43
- parcel_selectors::parser::Component::ExplicitUniversalType
44
- }
45
- parcel_selectors::parser::Component::ID(v) => {
46
- parcel_selectors::parser::Component::ID(v.clone().into_owned())
47
- }
48
- parcel_selectors::parser::Component::Class(v) => {
49
- parcel_selectors::parser::Component::Class(v.clone().into_owned())
50
- }
51
- parcel_selectors::parser::Component::Root => parcel_selectors::parser::Component::Root,
52
- parcel_selectors::parser::Component::Empty => parcel_selectors::parser::Component::Empty,
53
- parcel_selectors::parser::Component::Scope => parcel_selectors::parser::Component::Scope,
54
- parcel_selectors::parser::Component::PseudoElement(v) => {
55
- parcel_selectors::parser::Component::PseudoElement(owned_psuedo_element(v))
56
- }
57
- parcel_selectors::parser::Component::Nesting => {
58
- parcel_selectors::parser::Component::Nesting
59
- }
60
-
61
- parcel_selectors::parser::Component::AttributeInNoNamespaceExists {
62
- local_name,
63
- local_name_lower,
64
- } => parcel_selectors::parser::Component::AttributeInNoNamespaceExists {
65
- local_name: local_name.clone().into_owned(),
66
- local_name_lower: local_name_lower.clone().into_owned(),
67
- },
68
- parcel_selectors::parser::Component::AttributeInNoNamespace {
69
- local_name,
70
- operator,
71
- value,
72
- case_sensitivity,
73
- never_matches,
74
- } => parcel_selectors::parser::Component::AttributeInNoNamespace {
75
- local_name: local_name.clone().into_owned(),
76
- operator: *operator,
77
- value: value.clone().into_owned(),
78
- case_sensitivity: *case_sensitivity,
79
- never_matches: *never_matches,
80
- },
81
- parcel_selectors::parser::Component::AttributeOther(v) => {
82
- parcel_selectors::parser::Component::AttributeOther(Box::new(
83
- AttrSelectorWithOptionalNamespace {
84
- namespace: v.namespace.as_ref().map(|v| match v {
85
- NamespaceConstraint::Any => NamespaceConstraint::Any,
86
- NamespaceConstraint::Specific((v1, v2)) => NamespaceConstraint::Specific((
87
- v1.clone().into_owned(),
88
- v2.clone().into_owned(),
89
- )),
90
- }),
91
- local_name: v.local_name.clone().into_owned(),
92
- local_name_lower: v.local_name_lower.clone().into_owned(),
93
- operation: match &v.operation {
94
- ParsedAttrSelectorOperation::Exists => ParsedAttrSelectorOperation::Exists,
95
- ParsedAttrSelectorOperation::WithValue {
96
- operator,
97
- case_sensitivity,
98
- expected_value,
99
- } => ParsedAttrSelectorOperation::WithValue {
100
- operator: *operator,
101
- case_sensitivity: *case_sensitivity,
102
- expected_value: expected_value.clone().into_owned(),
103
- },
104
- },
105
- never_matches: v.never_matches,
106
- },
107
- ))
108
- }
109
- parcel_selectors::parser::Component::Negation(v) => {
110
- parcel_selectors::parser::Component::Negation(owned_selectors(v))
111
- }
112
- parcel_selectors::parser::Component::LocalName(v1) => {
113
- parcel_selectors::parser::Component::LocalName(LocalName {
114
- name: v1.name.clone().into_owned(),
115
- lower_name: v1.lower_name.clone().into_owned(),
116
- })
117
- }
118
- parcel_selectors::parser::Component::Nth(v) => parcel_selectors::parser::Component::Nth(*v),
119
- parcel_selectors::parser::Component::NthOf(v) => {
120
- parcel_selectors::parser::Component::NthOf(NthOfSelectorData::new(
121
- *v.nth_data(),
122
- owned_selectors(v.selectors()),
123
- ))
124
- }
125
- parcel_selectors::parser::Component::NonTSPseudoClass(v) => {
126
- parcel_selectors::parser::Component::NonTSPseudoClass(owned_psuedo_class(v))
127
- }
128
- parcel_selectors::parser::Component::Slotted(v) => {
129
- parcel_selectors::parser::Component::Slotted(owned_selector(v))
130
- }
131
- parcel_selectors::parser::Component::Part(v) => parcel_selectors::parser::Component::Part(
132
- v.iter().map(|v| v.clone().into_owned()).collect(),
133
- ),
134
- parcel_selectors::parser::Component::Host(v) => {
135
- parcel_selectors::parser::Component::Host(v.as_ref().map(owned_selector))
136
- }
137
- parcel_selectors::parser::Component::Where(v) => {
138
- parcel_selectors::parser::Component::Where(owned_selectors(v))
139
- }
140
- parcel_selectors::parser::Component::Is(v) => {
141
- parcel_selectors::parser::Component::Is(owned_selectors(v))
142
- }
143
- parcel_selectors::parser::Component::Any(v1, v2) => {
144
- parcel_selectors::parser::Component::Any(*v1, owned_selectors(v2))
145
- }
146
- parcel_selectors::parser::Component::Has(v) => {
147
- parcel_selectors::parser::Component::Has(owned_selectors(v))
148
- }
149
- }
150
- }
151
-
152
- fn owned_psuedo_element<'i>(
153
- v: &lightningcss::selector::PseudoElement,
154
- ) -> lightningcss::selector::PseudoElement<'i> {
155
- match v {
156
- lightningcss::selector::PseudoElement::After => {
157
- lightningcss::selector::PseudoElement::After
158
- }
159
- lightningcss::selector::PseudoElement::Before => {
160
- lightningcss::selector::PseudoElement::Before
161
- }
162
- lightningcss::selector::PseudoElement::FirstLine => {
163
- lightningcss::selector::PseudoElement::FirstLine
164
- }
165
- lightningcss::selector::PseudoElement::FirstLetter => {
166
- lightningcss::selector::PseudoElement::FirstLetter
167
- }
168
- lightningcss::selector::PseudoElement::Selection(v) => {
169
- lightningcss::selector::PseudoElement::Selection(*v)
170
- }
171
- lightningcss::selector::PseudoElement::Placeholder(v) => {
172
- lightningcss::selector::PseudoElement::Placeholder(*v)
173
- }
174
- lightningcss::selector::PseudoElement::Marker => {
175
- lightningcss::selector::PseudoElement::Marker
176
- }
177
- lightningcss::selector::PseudoElement::Backdrop(v) => {
178
- lightningcss::selector::PseudoElement::Backdrop(*v)
179
- }
180
-
181
- lightningcss::selector::PseudoElement::FileSelectorButton(v) => {
182
- lightningcss::selector::PseudoElement::FileSelectorButton(*v)
183
- }
184
- lightningcss::selector::PseudoElement::WebKitScrollbar(v) => {
185
- lightningcss::selector::PseudoElement::WebKitScrollbar(v.clone())
186
- }
187
- lightningcss::selector::PseudoElement::Cue => lightningcss::selector::PseudoElement::Cue,
188
- lightningcss::selector::PseudoElement::CueRegion => {
189
- lightningcss::selector::PseudoElement::CueRegion
190
- }
191
- lightningcss::selector::PseudoElement::CueFunction { selector } => {
192
- lightningcss::selector::PseudoElement::CueFunction {
193
- selector: Box::new(owned_selector(selector)),
194
- }
195
- }
196
- lightningcss::selector::PseudoElement::CueRegionFunction { selector } => {
197
- lightningcss::selector::PseudoElement::CueRegionFunction {
198
- selector: Box::new(owned_selector(selector)),
199
- }
200
- }
201
- lightningcss::selector::PseudoElement::ViewTransition => {
202
- lightningcss::selector::PseudoElement::ViewTransition
203
- }
204
- lightningcss::selector::PseudoElement::ViewTransitionGroup { part_name } => {
205
- lightningcss::selector::PseudoElement::ViewTransitionGroup {
206
- part_name: owned_view_transition_part_name(part_name),
207
- }
208
- }
209
- lightningcss::selector::PseudoElement::ViewTransitionImagePair { part_name } => {
210
- lightningcss::selector::PseudoElement::ViewTransitionImagePair {
211
- part_name: owned_view_transition_part_name(part_name),
212
- }
213
- }
214
- lightningcss::selector::PseudoElement::ViewTransitionOld { part_name } => {
215
- lightningcss::selector::PseudoElement::ViewTransitionOld {
216
- part_name: owned_view_transition_part_name(part_name),
217
- }
218
- }
219
- lightningcss::selector::PseudoElement::ViewTransitionNew { part_name } => {
220
- lightningcss::selector::PseudoElement::ViewTransitionNew {
221
- part_name: owned_view_transition_part_name(part_name),
222
- }
223
- }
224
- lightningcss::selector::PseudoElement::Custom { name } => {
225
- lightningcss::selector::PseudoElement::Custom {
226
- name: name.clone().into_owned(),
227
- }
228
- }
229
- lightningcss::selector::PseudoElement::CustomFunction { name, arguments } => {
230
- lightningcss::selector::PseudoElement::CustomFunction {
231
- name: name.clone().into_owned(),
232
- arguments: owned_token_list(arguments),
233
- }
234
- }
235
- }
236
- }
237
-
238
- fn owned_view_transition_part_name<'i>(n: &ViewTransitionPartName) -> ViewTransitionPartName<'i> {
239
- match n {
240
- ViewTransitionPartName::All => ViewTransitionPartName::All,
241
- ViewTransitionPartName::Name(v) => ViewTransitionPartName::Name(v.clone().into_owned()),
242
- }
243
- }
244
-
245
- fn owned_psuedo_class<'i>(
246
- v: &lightningcss::selector::PseudoClass,
247
- ) -> lightningcss::selector::PseudoClass<'i> {
248
- match v {
249
- lightningcss::selector::PseudoClass::Lang { languages } => {
250
- lightningcss::selector::PseudoClass::Lang {
251
- languages: languages.iter().map(|v| v.clone().into_owned()).collect(),
252
- }
253
- }
254
- lightningcss::selector::PseudoClass::Dir { direction } => {
255
- lightningcss::selector::PseudoClass::Dir {
256
- direction: *direction,
257
- }
258
- }
259
- lightningcss::selector::PseudoClass::Hover => lightningcss::selector::PseudoClass::Hover,
260
- lightningcss::selector::PseudoClass::Active => lightningcss::selector::PseudoClass::Active,
261
- lightningcss::selector::PseudoClass::Focus => lightningcss::selector::PseudoClass::Focus,
262
- lightningcss::selector::PseudoClass::FocusVisible => {
263
- lightningcss::selector::PseudoClass::FocusVisible
264
- }
265
- lightningcss::selector::PseudoClass::FocusWithin => {
266
- lightningcss::selector::PseudoClass::FocusWithin
267
- }
268
- lightningcss::selector::PseudoClass::Current => {
269
- lightningcss::selector::PseudoClass::Current
270
- }
271
- lightningcss::selector::PseudoClass::Past => lightningcss::selector::PseudoClass::Past,
272
- lightningcss::selector::PseudoClass::Future => lightningcss::selector::PseudoClass::Future,
273
- lightningcss::selector::PseudoClass::Playing => {
274
- lightningcss::selector::PseudoClass::Playing
275
- }
276
- lightningcss::selector::PseudoClass::Paused => lightningcss::selector::PseudoClass::Paused,
277
- lightningcss::selector::PseudoClass::Seeking => {
278
- lightningcss::selector::PseudoClass::Seeking
279
- }
280
- lightningcss::selector::PseudoClass::Buffering => {
281
- lightningcss::selector::PseudoClass::Buffering
282
- }
283
- lightningcss::selector::PseudoClass::Stalled => {
284
- lightningcss::selector::PseudoClass::Stalled
285
- }
286
- lightningcss::selector::PseudoClass::Muted => lightningcss::selector::PseudoClass::Muted,
287
- lightningcss::selector::PseudoClass::VolumeLocked => {
288
- lightningcss::selector::PseudoClass::VolumeLocked
289
- }
290
- lightningcss::selector::PseudoClass::Fullscreen(v) => {
291
- lightningcss::selector::PseudoClass::Fullscreen(*v)
292
- }
293
- lightningcss::selector::PseudoClass::Open => lightningcss::selector::PseudoClass::Open,
294
- lightningcss::selector::PseudoClass::Closed => lightningcss::selector::PseudoClass::Closed,
295
- lightningcss::selector::PseudoClass::Modal => lightningcss::selector::PseudoClass::Modal,
296
- lightningcss::selector::PseudoClass::PictureInPicture => {
297
- lightningcss::selector::PseudoClass::PictureInPicture
298
- }
299
- lightningcss::selector::PseudoClass::PopoverOpen => {
300
- lightningcss::selector::PseudoClass::PopoverOpen
301
- }
302
- lightningcss::selector::PseudoClass::Defined => {
303
- lightningcss::selector::PseudoClass::Defined
304
- }
305
- lightningcss::selector::PseudoClass::AnyLink(v) => {
306
- lightningcss::selector::PseudoClass::AnyLink(*v)
307
- }
308
- lightningcss::selector::PseudoClass::Link => lightningcss::selector::PseudoClass::Link,
309
- lightningcss::selector::PseudoClass::LocalLink => {
310
- lightningcss::selector::PseudoClass::LocalLink
311
- }
312
- lightningcss::selector::PseudoClass::Target => lightningcss::selector::PseudoClass::Target,
313
- lightningcss::selector::PseudoClass::TargetWithin => {
314
- lightningcss::selector::PseudoClass::TargetWithin
315
- }
316
- lightningcss::selector::PseudoClass::Visited => {
317
- lightningcss::selector::PseudoClass::Visited
318
- }
319
- lightningcss::selector::PseudoClass::Enabled => {
320
- lightningcss::selector::PseudoClass::Enabled
321
- }
322
- lightningcss::selector::PseudoClass::Disabled => {
323
- lightningcss::selector::PseudoClass::Disabled
324
- }
325
- lightningcss::selector::PseudoClass::ReadOnly(v) => {
326
- lightningcss::selector::PseudoClass::ReadOnly(*v)
327
- }
328
- lightningcss::selector::PseudoClass::ReadWrite(v) => {
329
- lightningcss::selector::PseudoClass::ReadWrite(*v)
330
- }
331
- lightningcss::selector::PseudoClass::PlaceholderShown(v) => {
332
- lightningcss::selector::PseudoClass::PlaceholderShown(*v)
333
- }
334
- lightningcss::selector::PseudoClass::Default => {
335
- lightningcss::selector::PseudoClass::Default
336
- }
337
- lightningcss::selector::PseudoClass::Checked => {
338
- lightningcss::selector::PseudoClass::Checked
339
- }
340
- lightningcss::selector::PseudoClass::Indeterminate => {
341
- lightningcss::selector::PseudoClass::Indeterminate
342
- }
343
- lightningcss::selector::PseudoClass::Blank => lightningcss::selector::PseudoClass::Blank,
344
- lightningcss::selector::PseudoClass::Valid => lightningcss::selector::PseudoClass::Valid,
345
- lightningcss::selector::PseudoClass::Invalid => {
346
- lightningcss::selector::PseudoClass::Invalid
347
- }
348
- lightningcss::selector::PseudoClass::InRange => {
349
- lightningcss::selector::PseudoClass::InRange
350
- }
351
- lightningcss::selector::PseudoClass::OutOfRange => {
352
- lightningcss::selector::PseudoClass::OutOfRange
353
- }
354
- lightningcss::selector::PseudoClass::Required => {
355
- lightningcss::selector::PseudoClass::Required
356
- }
357
- lightningcss::selector::PseudoClass::Optional => {
358
- lightningcss::selector::PseudoClass::Optional
359
- }
360
- lightningcss::selector::PseudoClass::UserValid => {
361
- lightningcss::selector::PseudoClass::UserValid
362
- }
363
- lightningcss::selector::PseudoClass::UserInvalid => {
364
- lightningcss::selector::PseudoClass::UserInvalid
365
- }
366
- lightningcss::selector::PseudoClass::Autofill(v) => {
367
- lightningcss::selector::PseudoClass::Autofill(*v)
368
- }
369
- lightningcss::selector::PseudoClass::Local { selector } => {
370
- lightningcss::selector::PseudoClass::Local {
371
- selector: Box::new(owned_selector(selector)),
372
- }
373
- }
374
- lightningcss::selector::PseudoClass::Global { selector } => {
375
- lightningcss::selector::PseudoClass::Global {
376
- selector: Box::new(owned_selector(selector)),
377
- }
378
- }
379
- lightningcss::selector::PseudoClass::WebKitScrollbar(v) => {
380
- lightningcss::selector::PseudoClass::WebKitScrollbar(v.clone())
381
- }
382
- lightningcss::selector::PseudoClass::Custom { name } => {
383
- lightningcss::selector::PseudoClass::Custom {
384
- name: name.clone().into_owned(),
385
- }
386
- }
387
- lightningcss::selector::PseudoClass::CustomFunction { name, arguments } => {
388
- lightningcss::selector::PseudoClass::CustomFunction {
389
- name: name.clone().into_owned(),
390
- arguments: owned_token_list(arguments),
391
- }
392
- }
393
- }
394
- }
395
-
396
- fn owned_selectors<'i>(ss: &[Selector]) -> Box<[Selector<'i>]> {
397
- let mut buf: Vec<Selector<'i>> = vec![];
398
-
399
- for selector in ss.iter() {
400
- buf.push(owned_selector(selector));
401
- }
402
-
403
- buf.into_boxed_slice()
404
- }
405
-
406
- fn owned_token_list<'i>(t: &TokenList) -> TokenList<'i> {
407
- TokenList(t.0.iter().map(|v| v.clone().into_owned()).collect())
408
- }
@@ -1,25 +0,0 @@
1
- use swc_common::Span;
2
- use swc_ecma_ast::*;
3
-
4
- pub struct ExternalStyle {
5
- pub expr: Expr,
6
- pub identifier: Ident,
7
- pub is_global: bool,
8
- }
9
-
10
- pub struct LocalStyle {
11
- pub hash: String,
12
- pub css: String,
13
- pub css_span: Span,
14
- pub is_dynamic: bool,
15
- #[allow(clippy::vec_box)]
16
- pub expressions: Vec<Box<Expr>>,
17
-
18
- /// If true, `format!("__styled-jsx-placeholder-{}__: 0", i)` is used.
19
- pub is_expr_property: Vec<bool>,
20
- }
21
-
22
- pub enum JSXStyle {
23
- Local(LocalStyle),
24
- External(ExternalStyle),
25
- }