@spiracss/stylelint-plugin 0.3.3 → 0.4.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 (279) hide show
  1. package/README.md +9 -27
  2. package/dist/esm/helpers.d.ts +10 -3
  3. package/dist/esm/helpers.d.ts.map +1 -1
  4. package/dist/esm/helpers.js +19 -99
  5. package/dist/esm/helpers.js.map +1 -1
  6. package/dist/esm/index.js +1 -1
  7. package/dist/esm/index.js.map +1 -1
  8. package/dist/esm/rules/spiracss-property-placement.d.ts.map +1 -1
  9. package/dist/esm/rules/spiracss-property-placement.js +46 -5
  10. package/dist/esm/rules/spiracss-property-placement.js.map +1 -1
  11. package/dist/esm/rules/spiracss-property-placement.messages.d.ts.map +1 -1
  12. package/dist/esm/rules/spiracss-property-placement.messages.js +7 -6
  13. package/dist/esm/rules/spiracss-property-placement.messages.js.map +1 -1
  14. package/package.json +9 -19
  15. package/dist/cjs/helpers.d.ts +0 -152
  16. package/dist/cjs/helpers.d.ts.map +0 -1
  17. package/dist/cjs/helpers.js +0 -483
  18. package/dist/cjs/helpers.js.map +0 -1
  19. package/dist/cjs/index.d.ts +0 -4
  20. package/dist/cjs/index.d.ts.map +0 -1
  21. package/dist/cjs/index.js +0 -31
  22. package/dist/cjs/index.js.map +0 -1
  23. package/dist/cjs/package.json +0 -3
  24. package/dist/cjs/rules/spiracss-class-structure.constants.d.ts +0 -2
  25. package/dist/cjs/rules/spiracss-class-structure.constants.d.ts.map +0 -1
  26. package/dist/cjs/rules/spiracss-class-structure.constants.js +0 -5
  27. package/dist/cjs/rules/spiracss-class-structure.constants.js.map +0 -1
  28. package/dist/cjs/rules/spiracss-class-structure.d.ts +0 -5
  29. package/dist/cjs/rules/spiracss-class-structure.d.ts.map +0 -1
  30. package/dist/cjs/rules/spiracss-class-structure.js +0 -398
  31. package/dist/cjs/rules/spiracss-class-structure.js.map +0 -1
  32. package/dist/cjs/rules/spiracss-class-structure.messages.d.ts +0 -24
  33. package/dist/cjs/rules/spiracss-class-structure.messages.d.ts.map +0 -1
  34. package/dist/cjs/rules/spiracss-class-structure.messages.js +0 -69
  35. package/dist/cjs/rules/spiracss-class-structure.messages.js.map +0 -1
  36. package/dist/cjs/rules/spiracss-class-structure.options.d.ts +0 -4
  37. package/dist/cjs/rules/spiracss-class-structure.options.d.ts.map +0 -1
  38. package/dist/cjs/rules/spiracss-class-structure.options.js +0 -155
  39. package/dist/cjs/rules/spiracss-class-structure.options.js.map +0 -1
  40. package/dist/cjs/rules/spiracss-class-structure.patterns.d.ts +0 -17
  41. package/dist/cjs/rules/spiracss-class-structure.patterns.d.ts.map +0 -1
  42. package/dist/cjs/rules/spiracss-class-structure.patterns.js +0 -184
  43. package/dist/cjs/rules/spiracss-class-structure.patterns.js.map +0 -1
  44. package/dist/cjs/rules/spiracss-class-structure.sections.d.ts +0 -6
  45. package/dist/cjs/rules/spiracss-class-structure.sections.d.ts.map +0 -1
  46. package/dist/cjs/rules/spiracss-class-structure.sections.js +0 -13
  47. package/dist/cjs/rules/spiracss-class-structure.sections.js.map +0 -1
  48. package/dist/cjs/rules/spiracss-class-structure.selectors.d.ts +0 -34
  49. package/dist/cjs/rules/spiracss-class-structure.selectors.d.ts.map +0 -1
  50. package/dist/cjs/rules/spiracss-class-structure.selectors.js +0 -325
  51. package/dist/cjs/rules/spiracss-class-structure.selectors.js.map +0 -1
  52. package/dist/cjs/rules/spiracss-class-structure.types.d.ts +0 -79
  53. package/dist/cjs/rules/spiracss-class-structure.types.d.ts.map +0 -1
  54. package/dist/cjs/rules/spiracss-class-structure.types.js +0 -3
  55. package/dist/cjs/rules/spiracss-class-structure.types.js.map +0 -1
  56. package/dist/cjs/rules/spiracss-interaction-properties.constants.d.ts +0 -2
  57. package/dist/cjs/rules/spiracss-interaction-properties.constants.d.ts.map +0 -1
  58. package/dist/cjs/rules/spiracss-interaction-properties.constants.js +0 -5
  59. package/dist/cjs/rules/spiracss-interaction-properties.constants.js.map +0 -1
  60. package/dist/cjs/rules/spiracss-interaction-properties.d.ts +0 -5
  61. package/dist/cjs/rules/spiracss-interaction-properties.d.ts.map +0 -1
  62. package/dist/cjs/rules/spiracss-interaction-properties.js +0 -537
  63. package/dist/cjs/rules/spiracss-interaction-properties.js.map +0 -1
  64. package/dist/cjs/rules/spiracss-interaction-properties.messages.d.ts +0 -11
  65. package/dist/cjs/rules/spiracss-interaction-properties.messages.d.ts.map +0 -1
  66. package/dist/cjs/rules/spiracss-interaction-properties.messages.js +0 -22
  67. package/dist/cjs/rules/spiracss-interaction-properties.messages.js.map +0 -1
  68. package/dist/cjs/rules/spiracss-interaction-properties.options.d.ts +0 -4
  69. package/dist/cjs/rules/spiracss-interaction-properties.options.d.ts.map +0 -1
  70. package/dist/cjs/rules/spiracss-interaction-properties.options.js +0 -25
  71. package/dist/cjs/rules/spiracss-interaction-properties.options.js.map +0 -1
  72. package/dist/cjs/rules/spiracss-interaction-properties.types.d.ts +0 -14
  73. package/dist/cjs/rules/spiracss-interaction-properties.types.d.ts.map +0 -1
  74. package/dist/cjs/rules/spiracss-interaction-properties.types.js +0 -3
  75. package/dist/cjs/rules/spiracss-interaction-properties.types.js.map +0 -1
  76. package/dist/cjs/rules/spiracss-interaction-scope.constants.d.ts +0 -2
  77. package/dist/cjs/rules/spiracss-interaction-scope.constants.d.ts.map +0 -1
  78. package/dist/cjs/rules/spiracss-interaction-scope.constants.js +0 -5
  79. package/dist/cjs/rules/spiracss-interaction-scope.constants.js.map +0 -1
  80. package/dist/cjs/rules/spiracss-interaction-scope.d.ts +0 -5
  81. package/dist/cjs/rules/spiracss-interaction-scope.d.ts.map +0 -1
  82. package/dist/cjs/rules/spiracss-interaction-scope.js +0 -173
  83. package/dist/cjs/rules/spiracss-interaction-scope.js.map +0 -1
  84. package/dist/cjs/rules/spiracss-interaction-scope.messages.d.ts +0 -10
  85. package/dist/cjs/rules/spiracss-interaction-scope.messages.d.ts.map +0 -1
  86. package/dist/cjs/rules/spiracss-interaction-scope.messages.js +0 -15
  87. package/dist/cjs/rules/spiracss-interaction-scope.messages.js.map +0 -1
  88. package/dist/cjs/rules/spiracss-interaction-scope.options.d.ts +0 -4
  89. package/dist/cjs/rules/spiracss-interaction-scope.options.d.ts.map +0 -1
  90. package/dist/cjs/rules/spiracss-interaction-scope.options.js +0 -54
  91. package/dist/cjs/rules/spiracss-interaction-scope.options.js.map +0 -1
  92. package/dist/cjs/rules/spiracss-interaction-scope.types.d.ts +0 -31
  93. package/dist/cjs/rules/spiracss-interaction-scope.types.d.ts.map +0 -1
  94. package/dist/cjs/rules/spiracss-interaction-scope.types.js +0 -3
  95. package/dist/cjs/rules/spiracss-interaction-scope.types.js.map +0 -1
  96. package/dist/cjs/rules/spiracss-interaction-scope.utils.d.ts +0 -13
  97. package/dist/cjs/rules/spiracss-interaction-scope.utils.d.ts.map +0 -1
  98. package/dist/cjs/rules/spiracss-interaction-scope.utils.js +0 -159
  99. package/dist/cjs/rules/spiracss-interaction-scope.utils.js.map +0 -1
  100. package/dist/cjs/rules/spiracss-keyframes-naming.constants.d.ts +0 -2
  101. package/dist/cjs/rules/spiracss-keyframes-naming.constants.d.ts.map +0 -1
  102. package/dist/cjs/rules/spiracss-keyframes-naming.constants.js +0 -5
  103. package/dist/cjs/rules/spiracss-keyframes-naming.constants.js.map +0 -1
  104. package/dist/cjs/rules/spiracss-keyframes-naming.d.ts +0 -5
  105. package/dist/cjs/rules/spiracss-keyframes-naming.d.ts.map +0 -1
  106. package/dist/cjs/rules/spiracss-keyframes-naming.js +0 -355
  107. package/dist/cjs/rules/spiracss-keyframes-naming.js.map +0 -1
  108. package/dist/cjs/rules/spiracss-keyframes-naming.messages.d.ts +0 -12
  109. package/dist/cjs/rules/spiracss-keyframes-naming.messages.d.ts.map +0 -1
  110. package/dist/cjs/rules/spiracss-keyframes-naming.messages.js +0 -18
  111. package/dist/cjs/rules/spiracss-keyframes-naming.messages.js.map +0 -1
  112. package/dist/cjs/rules/spiracss-keyframes-naming.options.d.ts +0 -4
  113. package/dist/cjs/rules/spiracss-keyframes-naming.options.d.ts.map +0 -1
  114. package/dist/cjs/rules/spiracss-keyframes-naming.options.js +0 -150
  115. package/dist/cjs/rules/spiracss-keyframes-naming.options.js.map +0 -1
  116. package/dist/cjs/rules/spiracss-keyframes-naming.types.d.ts +0 -27
  117. package/dist/cjs/rules/spiracss-keyframes-naming.types.d.ts.map +0 -1
  118. package/dist/cjs/rules/spiracss-keyframes-naming.types.js +0 -3
  119. package/dist/cjs/rules/spiracss-keyframes-naming.types.js.map +0 -1
  120. package/dist/cjs/rules/spiracss-page-layer.constants.d.ts +0 -2
  121. package/dist/cjs/rules/spiracss-page-layer.constants.d.ts.map +0 -1
  122. package/dist/cjs/rules/spiracss-page-layer.constants.js +0 -5
  123. package/dist/cjs/rules/spiracss-page-layer.constants.js.map +0 -1
  124. package/dist/cjs/rules/spiracss-page-layer.d.ts +0 -5
  125. package/dist/cjs/rules/spiracss-page-layer.d.ts.map +0 -1
  126. package/dist/cjs/rules/spiracss-page-layer.js +0 -243
  127. package/dist/cjs/rules/spiracss-page-layer.js.map +0 -1
  128. package/dist/cjs/rules/spiracss-page-layer.messages.d.ts +0 -7
  129. package/dist/cjs/rules/spiracss-page-layer.messages.d.ts.map +0 -1
  130. package/dist/cjs/rules/spiracss-page-layer.messages.js +0 -16
  131. package/dist/cjs/rules/spiracss-page-layer.messages.js.map +0 -1
  132. package/dist/cjs/rules/spiracss-page-layer.options.d.ts +0 -4
  133. package/dist/cjs/rules/spiracss-page-layer.options.d.ts.map +0 -1
  134. package/dist/cjs/rules/spiracss-page-layer.options.js +0 -59
  135. package/dist/cjs/rules/spiracss-page-layer.options.js.map +0 -1
  136. package/dist/cjs/rules/spiracss-page-layer.types.d.ts +0 -19
  137. package/dist/cjs/rules/spiracss-page-layer.types.d.ts.map +0 -1
  138. package/dist/cjs/rules/spiracss-page-layer.types.js +0 -3
  139. package/dist/cjs/rules/spiracss-page-layer.types.js.map +0 -1
  140. package/dist/cjs/rules/spiracss-property-placement.constants.d.ts +0 -2
  141. package/dist/cjs/rules/spiracss-property-placement.constants.d.ts.map +0 -1
  142. package/dist/cjs/rules/spiracss-property-placement.constants.js +0 -5
  143. package/dist/cjs/rules/spiracss-property-placement.constants.js.map +0 -1
  144. package/dist/cjs/rules/spiracss-property-placement.d.ts +0 -5
  145. package/dist/cjs/rules/spiracss-property-placement.d.ts.map +0 -1
  146. package/dist/cjs/rules/spiracss-property-placement.js +0 -632
  147. package/dist/cjs/rules/spiracss-property-placement.js.map +0 -1
  148. package/dist/cjs/rules/spiracss-property-placement.messages.d.ts +0 -19
  149. package/dist/cjs/rules/spiracss-property-placement.messages.d.ts.map +0 -1
  150. package/dist/cjs/rules/spiracss-property-placement.messages.js +0 -110
  151. package/dist/cjs/rules/spiracss-property-placement.messages.js.map +0 -1
  152. package/dist/cjs/rules/spiracss-property-placement.options.d.ts +0 -4
  153. package/dist/cjs/rules/spiracss-property-placement.options.d.ts.map +0 -1
  154. package/dist/cjs/rules/spiracss-property-placement.options.js +0 -74
  155. package/dist/cjs/rules/spiracss-property-placement.options.js.map +0 -1
  156. package/dist/cjs/rules/spiracss-property-placement.selectors.d.ts +0 -40
  157. package/dist/cjs/rules/spiracss-property-placement.selectors.d.ts.map +0 -1
  158. package/dist/cjs/rules/spiracss-property-placement.selectors.js +0 -1047
  159. package/dist/cjs/rules/spiracss-property-placement.selectors.js.map +0 -1
  160. package/dist/cjs/rules/spiracss-property-placement.types.d.ts +0 -28
  161. package/dist/cjs/rules/spiracss-property-placement.types.d.ts.map +0 -1
  162. package/dist/cjs/rules/spiracss-property-placement.types.js +0 -3
  163. package/dist/cjs/rules/spiracss-property-placement.types.js.map +0 -1
  164. package/dist/cjs/rules/spiracss-property-placement.values.d.ts +0 -19
  165. package/dist/cjs/rules/spiracss-property-placement.values.d.ts.map +0 -1
  166. package/dist/cjs/rules/spiracss-property-placement.values.js +0 -176
  167. package/dist/cjs/rules/spiracss-property-placement.values.js.map +0 -1
  168. package/dist/cjs/rules/spiracss-pseudo-nesting.constants.d.ts +0 -2
  169. package/dist/cjs/rules/spiracss-pseudo-nesting.constants.d.ts.map +0 -1
  170. package/dist/cjs/rules/spiracss-pseudo-nesting.constants.js +0 -5
  171. package/dist/cjs/rules/spiracss-pseudo-nesting.constants.js.map +0 -1
  172. package/dist/cjs/rules/spiracss-pseudo-nesting.d.ts +0 -5
  173. package/dist/cjs/rules/spiracss-pseudo-nesting.d.ts.map +0 -1
  174. package/dist/cjs/rules/spiracss-pseudo-nesting.js +0 -114
  175. package/dist/cjs/rules/spiracss-pseudo-nesting.js.map +0 -1
  176. package/dist/cjs/rules/spiracss-pseudo-nesting.messages.d.ts +0 -6
  177. package/dist/cjs/rules/spiracss-pseudo-nesting.messages.d.ts.map +0 -1
  178. package/dist/cjs/rules/spiracss-pseudo-nesting.messages.js +0 -10
  179. package/dist/cjs/rules/spiracss-pseudo-nesting.messages.js.map +0 -1
  180. package/dist/cjs/rules/spiracss-pseudo-nesting.types.d.ts +0 -5
  181. package/dist/cjs/rules/spiracss-pseudo-nesting.types.d.ts.map +0 -1
  182. package/dist/cjs/rules/spiracss-pseudo-nesting.types.js +0 -3
  183. package/dist/cjs/rules/spiracss-pseudo-nesting.types.js.map +0 -1
  184. package/dist/cjs/rules/spiracss-rel-comments.alias.d.ts +0 -6
  185. package/dist/cjs/rules/spiracss-rel-comments.alias.d.ts.map +0 -1
  186. package/dist/cjs/rules/spiracss-rel-comments.alias.js +0 -152
  187. package/dist/cjs/rules/spiracss-rel-comments.alias.js.map +0 -1
  188. package/dist/cjs/rules/spiracss-rel-comments.constants.d.ts +0 -2
  189. package/dist/cjs/rules/spiracss-rel-comments.constants.d.ts.map +0 -1
  190. package/dist/cjs/rules/spiracss-rel-comments.constants.js +0 -5
  191. package/dist/cjs/rules/spiracss-rel-comments.constants.js.map +0 -1
  192. package/dist/cjs/rules/spiracss-rel-comments.d.ts +0 -5
  193. package/dist/cjs/rules/spiracss-rel-comments.d.ts.map +0 -1
  194. package/dist/cjs/rules/spiracss-rel-comments.js +0 -427
  195. package/dist/cjs/rules/spiracss-rel-comments.js.map +0 -1
  196. package/dist/cjs/rules/spiracss-rel-comments.messages.d.ts +0 -11
  197. package/dist/cjs/rules/spiracss-rel-comments.messages.d.ts.map +0 -1
  198. package/dist/cjs/rules/spiracss-rel-comments.messages.js +0 -23
  199. package/dist/cjs/rules/spiracss-rel-comments.messages.js.map +0 -1
  200. package/dist/cjs/rules/spiracss-rel-comments.options.d.ts +0 -4
  201. package/dist/cjs/rules/spiracss-rel-comments.options.d.ts.map +0 -1
  202. package/dist/cjs/rules/spiracss-rel-comments.options.js +0 -101
  203. package/dist/cjs/rules/spiracss-rel-comments.options.js.map +0 -1
  204. package/dist/cjs/rules/spiracss-rel-comments.root.d.ts +0 -9
  205. package/dist/cjs/rules/spiracss-rel-comments.root.d.ts.map +0 -1
  206. package/dist/cjs/rules/spiracss-rel-comments.root.js +0 -121
  207. package/dist/cjs/rules/spiracss-rel-comments.root.js.map +0 -1
  208. package/dist/cjs/rules/spiracss-rel-comments.selectors.d.ts +0 -6
  209. package/dist/cjs/rules/spiracss-rel-comments.selectors.d.ts.map +0 -1
  210. package/dist/cjs/rules/spiracss-rel-comments.selectors.js +0 -78
  211. package/dist/cjs/rules/spiracss-rel-comments.selectors.js.map +0 -1
  212. package/dist/cjs/rules/spiracss-rel-comments.types.d.ts +0 -42
  213. package/dist/cjs/rules/spiracss-rel-comments.types.d.ts.map +0 -1
  214. package/dist/cjs/rules/spiracss-rel-comments.types.js +0 -3
  215. package/dist/cjs/rules/spiracss-rel-comments.types.js.map +0 -1
  216. package/dist/cjs/types.d.ts +0 -78
  217. package/dist/cjs/types.d.ts.map +0 -1
  218. package/dist/cjs/types.js +0 -3
  219. package/dist/cjs/types.js.map +0 -1
  220. package/dist/cjs/utils/cache.d.ts +0 -18
  221. package/dist/cjs/utils/cache.d.ts.map +0 -1
  222. package/dist/cjs/utils/cache.js +0 -94
  223. package/dist/cjs/utils/cache.js.map +0 -1
  224. package/dist/cjs/utils/constants.d.ts +0 -4
  225. package/dist/cjs/utils/constants.d.ts.map +0 -1
  226. package/dist/cjs/utils/constants.js +0 -32
  227. package/dist/cjs/utils/constants.js.map +0 -1
  228. package/dist/cjs/utils/formatting.d.ts +0 -10
  229. package/dist/cjs/utils/formatting.d.ts.map +0 -1
  230. package/dist/cjs/utils/formatting.js +0 -51
  231. package/dist/cjs/utils/formatting.js.map +0 -1
  232. package/dist/cjs/utils/messages.d.ts +0 -25
  233. package/dist/cjs/utils/messages.d.ts.map +0 -1
  234. package/dist/cjs/utils/messages.js +0 -174
  235. package/dist/cjs/utils/messages.js.map +0 -1
  236. package/dist/cjs/utils/naming.d.ts +0 -12
  237. package/dist/cjs/utils/naming.d.ts.map +0 -1
  238. package/dist/cjs/utils/naming.js +0 -70
  239. package/dist/cjs/utils/naming.js.map +0 -1
  240. package/dist/cjs/utils/normalize.d.ts +0 -12
  241. package/dist/cjs/utils/normalize.d.ts.map +0 -1
  242. package/dist/cjs/utils/normalize.js +0 -194
  243. package/dist/cjs/utils/normalize.js.map +0 -1
  244. package/dist/cjs/utils/option-schema.d.ts +0 -19
  245. package/dist/cjs/utils/option-schema.d.ts.map +0 -1
  246. package/dist/cjs/utils/option-schema.js +0 -23
  247. package/dist/cjs/utils/option-schema.js.map +0 -1
  248. package/dist/cjs/utils/options.d.ts +0 -34
  249. package/dist/cjs/utils/options.d.ts.map +0 -1
  250. package/dist/cjs/utils/options.js +0 -41
  251. package/dist/cjs/utils/options.js.map +0 -1
  252. package/dist/cjs/utils/postcss-helpers.d.ts +0 -9
  253. package/dist/cjs/utils/postcss-helpers.d.ts.map +0 -1
  254. package/dist/cjs/utils/postcss-helpers.js +0 -37
  255. package/dist/cjs/utils/postcss-helpers.js.map +0 -1
  256. package/dist/cjs/utils/rule-docs.d.ts +0 -2
  257. package/dist/cjs/utils/rule-docs.d.ts.map +0 -1
  258. package/dist/cjs/utils/rule-docs.js +0 -22
  259. package/dist/cjs/utils/rule-docs.js.map +0 -1
  260. package/dist/cjs/utils/section.d.ts +0 -17
  261. package/dist/cjs/utils/section.d.ts.map +0 -1
  262. package/dist/cjs/utils/section.js +0 -130
  263. package/dist/cjs/utils/section.js.map +0 -1
  264. package/dist/cjs/utils/selector-policy.d.ts +0 -16
  265. package/dist/cjs/utils/selector-policy.d.ts.map +0 -1
  266. package/dist/cjs/utils/selector-policy.js +0 -57
  267. package/dist/cjs/utils/selector-policy.js.map +0 -1
  268. package/dist/cjs/utils/selector.d.ts +0 -42
  269. package/dist/cjs/utils/selector.d.ts.map +0 -1
  270. package/dist/cjs/utils/selector.js +0 -238
  271. package/dist/cjs/utils/selector.js.map +0 -1
  272. package/dist/cjs/utils/stylelint.d.ts +0 -14
  273. package/dist/cjs/utils/stylelint.d.ts.map +0 -1
  274. package/dist/cjs/utils/stylelint.js +0 -67
  275. package/dist/cjs/utils/stylelint.js.map +0 -1
  276. package/dist/cjs/utils/validate.d.ts +0 -9
  277. package/dist/cjs/utils/validate.d.ts.map +0 -1
  278. package/dist/cjs/utils/validate.js +0 -35
  279. package/dist/cjs/utils/validate.js.map +0 -1
@@ -1,155 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.normalizeOptions = void 0;
4
- const cache_1 = require("../utils/cache");
5
- const normalize_1 = require("../utils/normalize");
6
- const options_1 = require("../utils/options");
7
- const selector_policy_1 = require("../utils/selector-policy");
8
- const defaultValueNaming = {
9
- case: 'kebab',
10
- maxWords: 2
11
- };
12
- const baseSelectorPolicy = (0, selector_policy_1.createDefaultSelectorPolicyBase)();
13
- const defaultSelectorPolicy = {
14
- valueNaming: defaultValueNaming,
15
- variant: {
16
- ...baseSelectorPolicy.variant,
17
- valueNaming: defaultValueNaming
18
- },
19
- state: {
20
- ...baseSelectorPolicy.state,
21
- valueNaming: defaultValueNaming
22
- }
23
- };
24
- const ERROR_PREFIX = '[spiracss]';
25
- const defaultOptions = {
26
- element: {
27
- // SpiraCSS recommends up to ~4 levels, so default to 4.
28
- depth: 4
29
- },
30
- external: {
31
- classes: [],
32
- prefixes: []
33
- },
34
- child: {
35
- combinator: true,
36
- nesting: true
37
- },
38
- root: {
39
- single: true,
40
- file: true,
41
- case: 'preserve'
42
- },
43
- paths: {
44
- childDir: 'scss',
45
- components: ['components'],
46
- childFileCase: 'preserve'
47
- },
48
- naming: undefined,
49
- comments: {
50
- shared: /--shared/i,
51
- interaction: /--interaction/i
52
- },
53
- selectorPolicy: defaultSelectorPolicy,
54
- cache: cache_1.DEFAULT_CACHE_SIZES
55
- };
56
- const isWordCase = (value) => value === 'kebab' || value === 'snake' || value === 'camel' || value === 'pascal';
57
- const normalizeFileNameCase = (value, fallback) => {
58
- if (value === 'preserve')
59
- return value;
60
- if (isWordCase(value))
61
- return value;
62
- return fallback;
63
- };
64
- const normalizeValueNaming = (raw, fallback, fieldName, reportInvalid) => {
65
- if (!raw || typeof raw !== 'object')
66
- return { ...fallback };
67
- const value = raw;
68
- const normalized = { ...fallback };
69
- if (value.case !== undefined) {
70
- if (!isWordCase(value.case)) {
71
- reportInvalid?.(`${fieldName}.case`, value.case, `${ERROR_PREFIX} ${fieldName}.case must be "kebab" | "snake" | "camel" | "pascal".`);
72
- }
73
- else {
74
- normalized.case = value.case;
75
- }
76
- }
77
- if (value.maxWords !== undefined) {
78
- if (typeof value.maxWords !== 'number' ||
79
- !Number.isInteger(value.maxWords) ||
80
- value.maxWords < 1) {
81
- reportInvalid?.(`${fieldName}.maxWords`, value.maxWords, `${ERROR_PREFIX} ${fieldName}.maxWords must be a positive integer.`);
82
- }
83
- else {
84
- normalized.maxWords = value.maxWords;
85
- }
86
- }
87
- return normalized;
88
- };
89
- const normalizeSelectorPolicy = (raw, reportInvalid) => {
90
- const defaults = {
91
- variant: {
92
- mode: defaultSelectorPolicy.variant.mode,
93
- dataKeys: defaultSelectorPolicy.variant.dataKeys
94
- },
95
- state: {
96
- mode: defaultSelectorPolicy.state.mode,
97
- dataKey: defaultSelectorPolicy.state.dataKey,
98
- ariaKeys: defaultSelectorPolicy.state.ariaKeys
99
- }
100
- };
101
- const base = (0, normalize_1.safeNormalizeSelectorPolicyBase)(raw, defaults, reportInvalid);
102
- const policy = (raw && typeof raw === 'object' ? raw : {});
103
- const variant = policy.variant || {};
104
- const state = policy.state || {};
105
- const baseValueNaming = normalizeValueNaming(policy.valueNaming, defaultSelectorPolicy.valueNaming, 'selectorPolicy.valueNaming', reportInvalid);
106
- const variantValueNaming = normalizeValueNaming(variant.valueNaming, baseValueNaming, 'selectorPolicy.variant.valueNaming', reportInvalid);
107
- const stateValueNaming = normalizeValueNaming(state.valueNaming, baseValueNaming, 'selectorPolicy.state.valueNaming', reportInvalid);
108
- return {
109
- valueNaming: baseValueNaming,
110
- variant: {
111
- mode: base.variant.mode,
112
- dataKeys: base.variant.dataKeys,
113
- valueNaming: variantValueNaming
114
- },
115
- state: {
116
- mode: base.state.mode,
117
- dataKey: base.state.dataKey,
118
- ariaKeys: base.state.ariaKeys,
119
- valueNaming: stateValueNaming
120
- }
121
- };
122
- };
123
- const normalizeOptions = (raw, reportInvalid) => {
124
- if (!raw || typeof raw !== 'object')
125
- return { ...defaultOptions };
126
- const opt = raw;
127
- const selectorPolicy = opt.selectorPolicy;
128
- const safeNormalizeKeyList = (value, fallback, fieldName) => (0, normalize_1.normalizeKeyList)(value, fallback, fieldName, reportInvalid);
129
- const common = (0, options_1.normalizeCommonOptions)(opt, (0, options_1.pickCommonDefaults)(defaultOptions), reportInvalid);
130
- return {
131
- element: {
132
- depth: typeof opt.elementDepth === 'number'
133
- ? opt.elementDepth
134
- : defaultOptions.element.depth
135
- },
136
- child: {
137
- combinator: (0, normalize_1.normalizeBoolean)(opt.childCombinator, defaultOptions.child.combinator),
138
- nesting: (0, normalize_1.normalizeBoolean)(opt.childNesting, defaultOptions.child.nesting)
139
- },
140
- root: {
141
- single: (0, normalize_1.normalizeBoolean)(opt.rootSingle, defaultOptions.root.single),
142
- file: (0, normalize_1.normalizeBoolean)(opt.rootFile, defaultOptions.root.file),
143
- case: normalizeFileNameCase(opt.rootCase, defaultOptions.root.case)
144
- },
145
- paths: {
146
- childDir: (0, normalize_1.normalizeString)(opt.childDir, defaultOptions.paths.childDir),
147
- components: safeNormalizeKeyList(opt.componentsDirs, defaultOptions.paths.components, 'componentsDirs'),
148
- childFileCase: normalizeFileNameCase(opt.childFileCase, defaultOptions.paths.childFileCase)
149
- },
150
- selectorPolicy: normalizeSelectorPolicy(selectorPolicy, reportInvalid),
151
- ...common
152
- };
153
- };
154
- exports.normalizeOptions = normalizeOptions;
155
- //# sourceMappingURL=spiracss-class-structure.options.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"spiracss-class-structure.options.js","sourceRoot":"","sources":["../../../src/rules/spiracss-class-structure.options.ts"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- import type { NormalizedCacheSizes } from '../types';
2
- import type { InvalidOptionReporter } from '../utils/normalize';
3
- import type { ClassifyOptions, Kind, NormalizedSelectorPolicy, Patterns, SelectorPolicyData } from './spiracss-class-structure.types';
4
- type NamingHintOptions = Pick<ClassifyOptions, 'naming'>;
5
- export declare const formatNamingHint: (options: NamingHintOptions) => string;
6
- export declare const buildPatterns: (options: ClassifyOptions, cacheSizes: NormalizedCacheSizes, reportInvalid?: InvalidOptionReporter) => Patterns;
7
- export declare const buildSelectorPolicyData: (policy: NormalizedSelectorPolicy) => SelectorPolicyData;
8
- /**
9
- * Classifies a class name using SpiraCSS patterns and external class allowances.
10
- * @param name - Class name to classify.
11
- * @param options - Rule options that define external class allowances.
12
- * @param patterns - Compiled naming patterns for Block/Element/Modifier.
13
- * @returns Classification kind for the class name.
14
- */
15
- export declare const classify: (name: string, options: ClassifyOptions, patterns: Patterns) => Kind;
16
- export {};
17
- //# sourceMappingURL=spiracss-class-structure.patterns.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"spiracss-class-structure.patterns.d.ts","sourceRoot":"","sources":["../../../src/rules/spiracss-class-structure.patterns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAY,MAAM,UAAU,CAAA;AAQ9D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,KAAK,EACV,eAAe,EACf,IAAI,EACJ,wBAAwB,EACxB,QAAQ,EACR,kBAAkB,EAEnB,MAAM,kCAAkC,CAAA;AAEzC,KAAK,iBAAiB,GAAG,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAA;AA2CxD,eAAO,MAAM,gBAAgB,GAAI,SAAS,iBAAiB,KAAG,MAkC7D,CAAA;AAED,eAAO,MAAM,aAAa,GACxB,SAAS,eAAe,EACxB,YAAY,oBAAoB,EAChC,gBAAgB,qBAAqB,KACpC,QAwGF,CAAA;AAED,eAAO,MAAM,uBAAuB,GAClC,QAAQ,wBAAwB,KAC/B,kBAMD,CAAA;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,QAAQ,GACnB,MAAM,MAAM,EACZ,SAAS,eAAe,EACxB,UAAU,QAAQ,KACjB,IASF,CAAA"}
@@ -1,184 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.classify = exports.buildSelectorPolicyData = exports.buildPatterns = exports.formatNamingHint = void 0;
4
- const cache_1 = require("../utils/cache");
5
- const messages_1 = require("../utils/messages");
6
- const naming_1 = require("../utils/naming");
7
- const serializePattern = (pattern) => pattern ? `${pattern.source}/${pattern.flags}` : '';
8
- const normalizeWordCase = (value, fallback) => value === 'kebab' || value === 'snake' || value === 'camel' || value === 'pascal'
9
- ? value
10
- : fallback;
11
- const getPatternsCache = (0, cache_1.createSharedCacheAccessor)();
12
- const buildValuePattern = (naming) => {
13
- const maxWords = naming.maxWords;
14
- switch (naming.case) {
15
- case 'kebab': {
16
- const word = '[a-z0-9]+';
17
- const rest = maxWords > 1 ? `(?:-${word}){0,${maxWords - 1}}` : '';
18
- return new RegExp(`^${word}${rest}$`);
19
- }
20
- case 'snake': {
21
- const word = '[a-z0-9]+';
22
- const rest = maxWords > 1 ? `(?:_${word}){0,${maxWords - 1}}` : '';
23
- return new RegExp(`^${word}${rest}$`);
24
- }
25
- case 'camel': {
26
- const head = '[a-z][a-zA-Z0-9]*';
27
- const rest = maxWords > 1 ? `(?:[A-Z][a-zA-Z0-9]*){0,${maxWords - 1}}` : '';
28
- return new RegExp(`^${head}${rest}$`);
29
- }
30
- case 'pascal': {
31
- const head = '[A-Z][a-zA-Z0-9]*';
32
- const rest = maxWords > 1 ? `(?:[A-Z][a-zA-Z0-9]*){0,${maxWords - 1}}` : '';
33
- return new RegExp(`^${head}${rest}$`);
34
- }
35
- default: {
36
- const word = '[a-z0-9]+';
37
- const rest = maxWords > 1 ? `(?:-${word}){0,${maxWords - 1}}` : '';
38
- return new RegExp(`^${word}${rest}$`);
39
- }
40
- }
41
- };
42
- const formatNamingHint = (options) => {
43
- const naming = options?.naming || {};
44
- const blockCase = normalizeWordCase(naming.blockCase, 'kebab');
45
- const elementCase = normalizeWordCase(naming.elementCase, 'kebab');
46
- const modifierCase = normalizeWordCase(naming.modifierCase, 'kebab');
47
- const modifierPrefix = naming.modifierPrefix ?? '-';
48
- const prefixLabel = modifierPrefix === '' ? '(none)' : modifierPrefix;
49
- const blockMaxWords = (0, naming_1.normalizeBlockMaxWords)(naming.blockMaxWords);
50
- const parts = [
51
- `blockCase=${(0, messages_1.formatCode)(blockCase)}`,
52
- `blockMaxWords=${(0, messages_1.formatCode)(String(blockMaxWords))}`,
53
- `elementCase=${(0, messages_1.formatCode)(elementCase)}`,
54
- `modifierCase=${(0, messages_1.formatCode)(modifierCase)}`,
55
- `modifierPrefix=${(0, messages_1.formatCode)(prefixLabel)}`
56
- ];
57
- const customParts = [];
58
- const customBlock = (0, naming_1.normalizeCustomPattern)(naming.customPatterns?.block, 'naming.customPatterns.block');
59
- const customElement = (0, naming_1.normalizeCustomPattern)(naming.customPatterns?.element, 'naming.customPatterns.element');
60
- const customModifier = (0, naming_1.normalizeCustomPattern)(naming.customPatterns?.modifier, 'naming.customPatterns.modifier');
61
- if (customBlock)
62
- customParts.push(`block=${(0, messages_1.formatPattern)(customBlock)}`);
63
- if (customElement)
64
- customParts.push(`element=${(0, messages_1.formatPattern)(customElement)}`);
65
- if (customModifier)
66
- customParts.push(`modifier=${(0, messages_1.formatPattern)(customModifier)}`);
67
- const customHint = customParts.length > 0 ? ` Custom patterns: ${customParts.join(', ')}.` : '';
68
- return `Naming: ${parts.join(', ')}.${customHint}`;
69
- };
70
- exports.formatNamingHint = formatNamingHint;
71
- const buildPatterns = (options, cacheSizes, reportInvalid) => {
72
- const naming = options.naming || {};
73
- const blockCase = normalizeWordCase(naming.blockCase, 'kebab');
74
- const elementCase = normalizeWordCase(naming.elementCase, 'kebab');
75
- const modifierCase = normalizeWordCase(naming.modifierCase, 'kebab');
76
- const modifierPrefix = naming.modifierPrefix ?? '-';
77
- const blockMaxWords = (0, naming_1.normalizeBlockMaxWords)(naming.blockMaxWords);
78
- // Support partial customPatterns overrides (only specified ones replace defaults).
79
- const customBlock = (0, naming_1.normalizeCustomPattern)(naming.customPatterns?.block, 'naming.customPatterns.block', reportInvalid);
80
- const customElement = (0, naming_1.normalizeCustomPattern)(naming.customPatterns?.element, 'naming.customPatterns.element', reportInvalid);
81
- const customModifier = (0, naming_1.normalizeCustomPattern)(naming.customPatterns?.modifier, 'naming.customPatterns.modifier', reportInvalid);
82
- const cacheKey = [
83
- blockCase,
84
- blockMaxWords,
85
- elementCase,
86
- modifierCase,
87
- modifierPrefix,
88
- serializePattern(customBlock),
89
- serializePattern(customElement),
90
- serializePattern(customModifier)
91
- ].join('|');
92
- const patternsCache = getPatternsCache(cacheSizes.patterns);
93
- const cached = patternsCache.get(cacheKey);
94
- if (cached)
95
- return cached;
96
- const blockRe = (0, naming_1.buildBlockPattern)(naming, cacheSizes.naming, reportInvalid, {
97
- customBlock,
98
- skipCustomPatternValidation: true
99
- });
100
- const elementRe = customElement ?? (() => {
101
- switch (elementCase) {
102
- case 'kebab':
103
- case 'snake':
104
- // title / lede
105
- return /^[a-z][a-z0-9]*$/;
106
- case 'camel':
107
- // Single word only (no inner uppercase).
108
- return /^[a-z][a-z0-9]*$/;
109
- case 'pascal':
110
- // Single word only (no inner uppercase).
111
- return /^[A-Z][a-z0-9]*$/;
112
- default:
113
- return /^[a-z][a-z0-9]*$/;
114
- }
115
- })();
116
- const modifierRe = customModifier ?? (() => {
117
- // Modifiers allow 1-2 words (SpiraCSS rule), prefixed by modifierPrefix.
118
- const prefixEscaped = modifierPrefix.replace(/[-/\\^$*+?.()|[\]{}]/g, '\\$&');
119
- const base = (() => {
120
- switch (modifierCase) {
121
- case 'kebab': {
122
- const one = '[a-z0-9]+';
123
- const two = '[a-z0-9]+-[a-z0-9]+';
124
- return `(?:${one}|${two})`;
125
- }
126
- case 'snake': {
127
- const one = '[a-z0-9]+';
128
- const two = '[a-z0-9]+_[a-z0-9]+';
129
- return `(?:${one}|${two})`;
130
- }
131
- case 'camel': {
132
- const one = '[a-z][a-zA-Z0-9]*';
133
- const two = '[a-z][a-z0-9]*[A-Z][a-zA-Z0-9]*';
134
- return `(?:${one}|${two})`;
135
- }
136
- case 'pascal': {
137
- const one = '[A-Z][a-zA-Z0-9]*';
138
- const two = '[A-Z][a-z0-9]*[A-Z][a-zA-Z0-9]*';
139
- return `(?:${one}|${two})`;
140
- }
141
- default: {
142
- const one = '[a-z0-9]+';
143
- const two = '[a-z0-9]+-[a-z0-9]+';
144
- return `(?:${one}|${two})`;
145
- }
146
- }
147
- })();
148
- return new RegExp(`^${prefixEscaped}${base}$`);
149
- })();
150
- const patterns = { blockRe, elementRe, modifierRe };
151
- patternsCache.set(cacheKey, patterns);
152
- return patterns;
153
- };
154
- exports.buildPatterns = buildPatterns;
155
- const buildSelectorPolicyData = (policy) => ({
156
- reservedVariantKeys: new Set(policy.variant.dataKeys.map((key) => key.toLowerCase())),
157
- reservedStateKey: policy.state.dataKey.toLowerCase(),
158
- reservedAriaKeys: new Set(policy.state.ariaKeys.map((key) => key.toLowerCase())),
159
- variantValuePattern: buildValuePattern(policy.variant.valueNaming),
160
- stateValuePattern: buildValuePattern(policy.state.valueNaming)
161
- });
162
- exports.buildSelectorPolicyData = buildSelectorPolicyData;
163
- /**
164
- * Classifies a class name using SpiraCSS patterns and external class allowances.
165
- * @param name - Class name to classify.
166
- * @param options - Rule options that define external class allowances.
167
- * @param patterns - Compiled naming patterns for Block/Element/Modifier.
168
- * @returns Classification kind for the class name.
169
- */
170
- const classify = (name, options, patterns) => {
171
- const external = options.external;
172
- if (external.classes.includes(name) || external.prefixes.some((p) => name.startsWith(p))) {
173
- return 'external';
174
- }
175
- if (patterns.modifierRe.test(name))
176
- return 'modifier';
177
- if (patterns.blockRe.test(name))
178
- return 'block';
179
- if (patterns.elementRe.test(name))
180
- return 'element';
181
- return 'invalid';
182
- };
183
- exports.classify = classify;
184
- //# sourceMappingURL=spiracss-class-structure.patterns.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"spiracss-class-structure.patterns.js","sourceRoot":"","sources":["../../../src/rules/spiracss-class-structure.patterns.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import type { Root, Rule } from 'postcss';
2
- import type { CommentPatterns } from '../utils/section';
3
- export declare const markSharedRules: (root: Root, patterns: CommentPatterns, rootBlockRules: WeakSet<Rule>) => WeakSet<Rule>;
4
- export declare const markInteractionRules: (root: Root, patterns: CommentPatterns, rootBlockRules: WeakSet<Rule>) => WeakSet<Rule>;
5
- export declare const isRootBlockRule: (rule: Rule) => boolean;
6
- //# sourceMappingURL=spiracss-class-structure.sections.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"spiracss-class-structure.sections.d.ts","sourceRoot":"","sources":["../../../src/rules/spiracss-class-structure.sections.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAIzC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAOvD,eAAO,MAAM,eAAe,GAC1B,MAAM,IAAI,EACV,UAAU,eAAe,EACzB,gBAAgB,OAAO,CAAC,IAAI,CAAC,KAC5B,OAAO,CAAC,IAAI,CAGZ,CAAA;AAEH,eAAO,MAAM,oBAAoB,GAC/B,MAAM,IAAI,EACV,UAAU,eAAe,EACzB,gBAAgB,OAAO,CAAC,IAAI,CAAC,KAC5B,OAAO,CAAC,IAAI,CAGZ,CAAA;AAEH,eAAO,MAAM,eAAe,GAAI,MAAM,IAAI,KAAG,OACA,CAAA"}
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isRootBlockRule = exports.markInteractionRules = exports.markSharedRules = void 0;
4
- const constants_1 = require("../utils/constants");
5
- const postcss_helpers_1 = require("../utils/postcss-helpers");
6
- const section_1 = require("../utils/section");
7
- const markSharedRules = (root, patterns, rootBlockRules) => (0, section_1.markSharedRules)(root, patterns, (_comment, parent) => (0, postcss_helpers_1.isRule)(parent) && rootBlockRules.has(parent));
8
- exports.markSharedRules = markSharedRules;
9
- const markInteractionRules = (root, patterns, rootBlockRules) => (0, section_1.markInteractionRules)(root, patterns, (_comment, parent) => (0, postcss_helpers_1.isRule)(parent) && rootBlockRules.has(parent));
10
- exports.markInteractionRules = markInteractionRules;
11
- const isRootBlockRule = (rule) => (0, section_1.isRuleInRootScope)(rule, constants_1.ROOT_WRAPPER_NAMES);
12
- exports.isRootBlockRule = isRootBlockRule;
13
- //# sourceMappingURL=spiracss-class-structure.sections.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"spiracss-class-structure.sections.js","sourceRoot":"","sources":["../../../src/rules/spiracss-class-structure.sections.ts"],"names":[],"mappings":";;;AAEA,kDAAuD;AACvD,8DAAiD;AAEjD,8CAIyB;AAElB,MAAM,eAAe,GAAG,CAC7B,IAAU,EACV,QAAyB,EACzB,cAA6B,EACd,EAAE,CACjB,IAAA,yBAAiB,EAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CACrD,IAAA,wBAAM,EAAC,MAAM,CAAC,IAAI,cAAc,CAAC,GAAG,CAAC,MAAc,CAAC,CACrD,CAAA;AAPU,QAAA,eAAe,mBAOzB;AAEI,MAAM,oBAAoB,GAAG,CAClC,IAAU,EACV,QAAyB,EACzB,cAA6B,EACd,EAAE,CACjB,IAAA,8BAAsB,EAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAC1D,IAAA,wBAAM,EAAC,MAAM,CAAC,IAAI,cAAc,CAAC,GAAG,CAAC,MAAc,CAAC,CACrD,CAAA;AAPU,QAAA,oBAAoB,wBAO9B;AAEI,MAAM,eAAe,GAAG,CAAC,IAAU,EAAW,EAAE,CACrD,IAAA,2BAAiB,EAAC,IAAI,EAAE,8BAAkB,CAAC,CAAA;AADhC,QAAA,eAAe,mBACiB"}
@@ -1,34 +0,0 @@
1
- import type { Selector } from 'postcss-selector-parser';
2
- import type { ClassifyOptions, Kind, Options, Patterns, SelectorPolicyData } from './spiracss-class-structure.types';
3
- export declare const collectRootBlockNames: (selectors: Selector[], options: ClassifyOptions, patterns: Patterns) => string[];
4
- export declare const hasValidSpiraClass: (selectors: Selector[], options: Options, patterns: Patterns) => boolean;
5
- export declare const analyzeRootSelector: (sel: Selector, rootBlockName: string, options: Options, patterns: Patterns) => {
6
- hasSpiraClass: boolean;
7
- hasRootBlock: boolean;
8
- hasOtherBlock: boolean;
9
- };
10
- type ProcessContext = {
11
- parentKind?: Kind;
12
- parentSelector?: string;
13
- parentDepth: number;
14
- parentBlockDepth: number;
15
- report: (message: string) => void;
16
- options: Options;
17
- patterns: Patterns;
18
- policyData: SelectorPolicyData;
19
- namingHint: string;
20
- isShared: boolean;
21
- isInteraction: boolean;
22
- hasBlockAncestor: boolean;
23
- };
24
- /**
25
- * Analyze a selector in context and emit structure/naming violations.
26
- * @param sel - Selector node to analyze.
27
- * @param ctx - Validation context (options, patterns, reporter, and parent state).
28
- * @returns Structural kind used for parent/child depth tracking, or null when ignored.
29
- */
30
- export declare const processSelector: (sel: Selector, ctx: ProcessContext) => Kind | null;
31
- export declare const mergeRuleKinds: (kinds: Kind[]) => Kind | null;
32
- export declare const hasSegmentSequence: (segments: string[], sequence: string[]) => boolean;
33
- export {};
34
- //# sourceMappingURL=spiracss-class-structure.selectors.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"spiracss-class-structure.selectors.d.ts","sourceRoot":"","sources":["../../../src/rules/spiracss-class-structure.selectors.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAmC,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAWxF,OAAO,KAAK,EACV,eAAe,EACf,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,kBAAkB,EACnB,MAAM,kCAAkC,CAAA;AAIzC,eAAO,MAAM,qBAAqB,GAChC,WAAW,QAAQ,EAAE,EACrB,SAAS,eAAe,EACxB,UAAU,QAAQ,KACjB,MAAM,EAcR,CAAA;AAED,eAAO,MAAM,kBAAkB,GAC7B,WAAW,QAAQ,EAAE,EACrB,SAAS,OAAO,EAChB,UAAU,QAAQ,KACjB,OAUF,CAAA;AAED,eAAO,MAAM,mBAAmB,GAC9B,KAAK,QAAQ,EACb,eAAe,MAAM,EACrB,SAAS,OAAO,EAChB,UAAU,QAAQ,KACjB;IAAE,aAAa,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,OAAO,CAAC;IAAC,aAAa,EAAE,OAAO,CAAA;CAkBzE,CAAA;AAED,KAAK,cAAc,GAAG;IACpB,UAAU,CAAC,EAAE,IAAI,CAAA;IACjB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,WAAW,EAAE,MAAM,CAAA;IACnB,gBAAgB,EAAE,MAAM,CAAA;IACxB,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,QAAQ,CAAA;IAClB,UAAU,EAAE,kBAAkB,CAAA;IAC9B,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,OAAO,CAAA;IACjB,aAAa,EAAE,OAAO,CAAA;IACtB,gBAAgB,EAAE,OAAO,CAAA;CAC1B,CAAA;AAqSD;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAAI,KAAK,QAAQ,EAAE,KAAK,cAAc,KAAG,IAAI,GAAG,IAuF3E,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,OAAO,IAAI,EAAE,KAAG,IAAI,GAAG,IAOrD,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,UAAU,MAAM,EAAE,EAAE,UAAU,MAAM,EAAE,KAAG,OAa3E,CAAA"}