{
  "ams": {
    "button": {
      "border-style": {
        "$value": "solid",
        "$extensions": {
          "nl.amsterdam.type": "borderStyle"
        }
      },
      "border-width": {
        "$value": "{ams.border.width.m}",
        "$extensions": {
          "nl.amsterdam.type": "borderWidth"
        }
      },
      "cursor": {
        "$value": "{ams.cursor.interactive}",
        "$extensions": {
          "nl.amsterdam.type": "cursor"
        }
      },
      "font-family": {
        "$value": "{ams.typography.font-family}",
        "$extensions": {
          "nl.amsterdam.type": "fontFamily"
        }
      },
      "font-size": {
        "$value": "{ams.typography.body-text.font-size}",
        "$extensions": {
          "nl.amsterdam.type": "fontSize"
        }
      },
      "font-weight": {
        "$value": "{ams.typography.body-text.font-weight}",
        "$extensions": {
          "nl.amsterdam.type": "fontWeight"
        }
      },
      "line-height": {
        "$value": "{ams.inputs.line-height}",
        "$extensions": {
          "nl.amsterdam.subtype": "lineHeight",
          "nl.amsterdam.type": "number"
        }
      },
      "gap": {
        "$value": "{ams.space.s}",
        "$extensions": {
          "nl.amsterdam.subtype": "space",
          "nl.amsterdam.type": "dimension"
        }
      },
      "outline-offset": {
        "$value": "{ams.focus.outline-offset}",
        "$extensions": {
          "nl.amsterdam.subtype": "space",
          "nl.amsterdam.type": "dimension"
        }
      },
      "padding-block": {
        "$value": "{ams.space.s}",
        "$extensions": {
          "nl.amsterdam.subtype": "space",
          "nl.amsterdam.type": "dimension"
        }
      },
      "padding-inline": {
        "$value": "{ams.space.m}",
        "$extensions": {
          "nl.amsterdam.subtype": "space",
          "nl.amsterdam.type": "dimension"
        }
      },
      "disabled": {
        "cursor": {
          "$value": "{ams.cursor.disabled}",
          "$extensions": {
            "nl.amsterdam.type": "cursor"
          }
        }
      },
      "icon-only": {
        "padding-block": {
          "$value": "{ams.space.s}",
          "$extensions": {
            "nl.amsterdam.subtype": "space",
            "nl.amsterdam.type": "dimension"
          }
        },
        "padding-inline": {
          "$value": "{ams.space.s}",
          "$extensions": {
            "nl.amsterdam.subtype": "space",
            "nl.amsterdam.type": "dimension"
          }
        }
      },
      "primary": {
        "background-color": {
          "$value": "{ams.color.interactive.default}",
          "$extensions": {
            "nl.amsterdam.type": "color"
          }
        },
        "border-color": {
          "$value": "{ams.color.interactive.default}",
          "$extensions": {
            "nl.amsterdam.type": "color"
          }
        },
        "color": {
          "$value": "{ams.color.text.inverse}",
          "$extensions": {
            "nl.amsterdam.type": "color"
          }
        },
        "disabled": {
          "background-color": {
            "$value": "{ams.color.interactive.disabled}",
            "$extensions": {
              "nl.amsterdam.type": "color"
            }
          },
          "border-color": {
            "$value": "{ams.color.interactive.disabled}",
            "$extensions": {
              "nl.amsterdam.type": "color"
            }
          }
        },
        "hover": {
          "background-color": {
            "$value": "{ams.color.interactive.hover}",
            "$extensions": {
              "nl.amsterdam.type": "color"
            }
          },
          "border-color": {
            "$value": "{ams.color.interactive.hover}",
            "$extensions": {
              "nl.amsterdam.type": "color"
            }
          }
        }
      },
      "secondary": {
        "background-color": {
          "$value": "{ams.color.background.default}",
          "$extensions": {
            "nl.amsterdam.type": "color"
          }
        },
        "border-color": {
          "$value": "currentColor",
          "$type": "color"
        },
        "color": {
          "$value": "{ams.color.interactive.default}",
          "$extensions": {
            "nl.amsterdam.type": "color"
          }
        },
        "disabled": {
          "border-color": {
            "$value": "{ams.color.interactive.disabled}",
            "$extensions": {
              "nl.amsterdam.type": "color"
            }
          },
          "color": {
            "$value": "{ams.color.interactive.disabled}",
            "$extensions": {
              "nl.amsterdam.type": "color"
            }
          }
        },
        "hover": {
          "box-shadow": {
            "$type": "shadow",
            "$value": {
              "inset": true,
              "offsetX": {
                "value": 0,
                "unit": "rem"
              },
              "offsetY": {
                "value": 0,
                "unit": "rem"
              },
              "blur": {
                "value": 0,
                "unit": "rem"
              },
              "spread": "{ams.border.width.s}",
              "color": "currentColor"
            }
          },
          "color": {
            "$value": "{ams.color.interactive.hover}",
            "$extensions": {
              "nl.amsterdam.type": "color"
            }
          }
        }
      },
      "tertiary": {
        "background-color": {
          "$value": "transparent",
          "$type": "color"
        },
        "border-color": {
          "$value": "transparent",
          "$type": "color"
        },
        "color": {
          "$value": "{ams.color.interactive.default}",
          "$extensions": {
            "nl.amsterdam.type": "color"
          }
        },
        "disabled": {
          "color": {
            "$value": "{ams.color.interactive.disabled}",
            "$extensions": {
              "nl.amsterdam.type": "color"
            }
          }
        },
        "hover": {
          "border-color": {
            "$value": "currentColor",
            "$type": "color"
          },
          "color": {
            "$value": "{ams.color.interactive.hover}",
            "$extensions": {
              "nl.amsterdam.type": "color"
            }
          }
        }
      }
    }
  }
}
