canicode 0.10.4 → 0.10.5

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.
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { z } from 'zod';
2
2
  import { GetFileResponse, Node } from '@figma/rest-api-spec';
3
3
 
4
- var version = "0.10.4";
4
+ var version = "0.10.5";
5
5
 
6
6
  declare const SeveritySchema: z.ZodEnum<{
7
7
  blocking: "blocking";
package/dist/index.js CHANGED
@@ -6,7 +6,7 @@ import 'crypto';
6
6
  import { homedir } from 'os';
7
7
 
8
8
  // package.json
9
- var version = "0.10.4";
9
+ var version = "0.10.5";
10
10
  var SeveritySchema = z.enum([
11
11
  "blocking",
12
12
  "risk",
@@ -3238,12 +3238,22 @@ function hasStateInComponentMaster(node, context, statePattern) {
3238
3238
  if (!master) return false;
3239
3239
  return hasStateInVariantProps(master, statePattern);
3240
3240
  }
3241
+ var VARIANT_POSITION_NAME_RE = /^[\w ]+=[^,]+(,\s*[\w ]+=[^,]+)*$/;
3242
+ function hasUsablePropDefs(propDefs) {
3243
+ return propDefs != null && typeof propDefs === "object";
3244
+ }
3241
3245
  function canDetermineVariants(node, context) {
3242
- if (node.type === "COMPONENT") return true;
3243
- if (node.componentPropertyDefinitions !== void 0) return true;
3246
+ if (hasUsablePropDefs(node.componentPropertyDefinitions)) return true;
3247
+ if (node.type === "COMPONENT") {
3248
+ return !VARIANT_POSITION_NAME_RE.test(node.name);
3249
+ }
3244
3250
  if (node.componentId !== void 0) {
3245
3251
  const defs = context.file.componentDefinitions;
3246
- if (defs && defs[node.componentId] !== void 0) return true;
3252
+ const master = defs?.[node.componentId];
3253
+ if (master) {
3254
+ if (hasUsablePropDefs(master.componentPropertyDefinitions)) return true;
3255
+ return !VARIANT_POSITION_NAME_RE.test(master.name);
3256
+ }
3247
3257
  }
3248
3258
  return false;
3249
3259
  }